如何在启动时关闭Windows内核调试?

时间:2011-03-03 14:56:58

标签: windows debugging kernel windbg boot

我有一台Vista 32位机器,我想启用本地内核调试。 在WinDbg中,我选择了File / Kernel Debug并选择了Local选项卡并单击ok。 我收到了以下消息。

系统不支持本地内核调试。 ... 默认情况下,在Windows Vista中禁用本地内核调试,必须运行'bcdedit -debug on'并重新启动才能启用它。

我天真地按照说明操作并打开一个提升的命令提示符,然后键入'bcdedit -debug on'并重新启动。

但是,在重新启动时,系统会在进入登录屏幕时挂起 - 或者在我输入用户名和密码后挂起。

我怀疑发生的事情是因为启用了调试器,在内核调试器进程中触发了用户模式异常,它正在等待我从附加的调试器输入一些输入?

我希望在实际的目标机器上进行调试。

我的问题是每次启动时 - 无论我选择哪种F8引导选项 - 它总是挂起或者到目前为止然后重新启动 - 然后挂起。

以安全模式启动 - 接近登录屏幕,然后重新启动。 这同样适用于命令行和网络引导选项。 最后知道好的配置 - 也挂起。

有没有办法在Windows加载之前更改启动选项,以便我可以关闭内核调试。我只有一个启动配置,事后看来,我的问题 - 我应该为我的调试启动选项创建了第一个启动配置的副本。

不幸的是系统没有串口,所以我无法通过它进行调试。

我现在能想到的唯一选择是尝试通过USB端口连接来自不同机器的调试器。但是,我不需要将目标PC配置为接受USB端口上的调试器,或者如果我获得正确的调试USB电缆,这是否正常工作?

2 个答案:

答案 0 :(得分:8)

无需使用修复选项!只需按F10而不是F8,现在您就可以编辑引导参数了!只需删除/ DEBUG并按Enter键继续启动过程。设置完成后,使用bcdedit -debug off来永久更改调试选项。

答案 1 :(得分:6)

弄清楚如何让机器再次运转。

在重新启动期间按F8会显示“修复”选项。 选择“修复”并提供许多其他选项,包括“还原到上一个还原点”以及打开命令提示符。

我曾尝试过以下内容......

打开一个命令提示符并输入“bcdedit -debug off”,这被接受但似乎没有帮助。 然后我尝试恢复到之前几天的恢复点。我再一次重装了。

原因,......这些都没有实际关闭启动配置的调试选项。

我需要做的是:在“修复”菜单中 - 打开命令提示符。 然后键入bcdedit / enum以列出引导配置。 然后拨打

bcdedit /set {default} debug off

我想我最初尝试调用bcdedit -debug会在启动管理器配置上关闭它(它已经是),因为我没有指定特定的配置名称。