使目标计算机崩溃和重新启动目标计算机
执行内核调试时,可以通过发出 .crash (强制系统 崩溃) 命令,导致目标计算机停止响应 (,即崩溃或 bug 检查) 。 此命令立即导致目标计算机停止响应。 如果已启用故障转储,调试器将写入内核模式转储文件。 (有关这些文件的详细信息,请参阅 创建 Kernel-Mode 转储文件。)
若要重启目标计算机,请使用 .reboot (重新启动目标计算机) 命令。
如果希望目标计算机创建故障转储文件,然后重新启动,则应发出 .crash 命令,后跟 .reboot 命令。 如果只想重启,则不需要 .crash 命令。
在启动过程的早期阶段,主计算机与目标计算机之间的连接将丢失。 调试器没有可用的有关目标计算机的信息。
连接断开后,调试器将关闭所有符号文件并卸载所有调试器扩展。 此时,如果运行的是 KD 或 CDB,则所有断点都将丢失。 在 WinDbg 中,可以保存当前工作区。 此操作将保存所有断点。
如果此时想要结束调试会话,请使用 KD) 中的 CTRL+B 命令 (,或在 WinDbg) 中 (“文件”菜单上单击“退出”。
如果未退出调试器,则会在完成足够的启动过程后重新建立连接。 此时会重新加载符号和扩展。 如果运行的是 WinDbg,则会重新加载内核模式工作区。
可以告知调试器在重启过程中在两个可能的时间自动闯入目标计算机:
第一个内核模块加载到内存中时
当内核初始化时
若要在第一个内核模块加载时设置自动断点,请使用 -d命令行选项。
还可以在调试器运行后更改中断状态:
控制初始模块加载和内核初始化断点,例如所有异常和事件。 发生这些事件时,可以闯入调试器,也可以忽略它们。 还可以让指定的命令在命中这些断点时自动执行。 有关详细信息,请参阅 控制异常和事件。
在 KD 中使用 Ctrl+K 快捷键、WinDbg 中的 Ctrl+Alt+K 快捷键和 调试 |内核连接 |WinDbg 中的“循环初始中断 ”命令可更改中断状态。 每次使用这些命令时,调试器都会在三种状态之间切换:无自动中断、内核初始化时中断和首次内核模块加载中断。 此方法无法同时激活两个自动断点。
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈