我有一台 Vista 32 位机器,我想在其上启用本地内核调试。 在 WinDbg 中,我选择了文件/内核调试并选择了本地选项卡并单击确定。 我收到以下消息。
系统不支持本地内核调试。 ... Windows Vista 中默认禁用本地内核调试,您必须运行“bcdedit -debug on”并重新启动才能启用它。
我天真地按照说明打开提升的命令提示符并键入“bcdedit -debug on”并重新启动。
但是,在重新启动时,系统在到达登录屏幕时挂起 - 或者就在我输入用户名和密码后挂起。
我怀疑正在发生的事情是因为启用了调试器,在内核调试器进程中触发了用户模式异常,它正在等待我从附加的调试器输入一些输入??
我希望在实际目标机器上进行调试。
我的问题是每次我启动时 - 无论我选择 F8 启动选项 - 它总是挂起或到达那么远然后重新启动 - 然后挂起。
以安全模式启动 - 接近登录屏幕,然后重新启动。 同样适用于命令行和网络启动选项。 最后一次正确的配置 - 也挂起。
有什么方法可以在 Windows 加载之前更改引导选项,以便我可以关闭内核调试。我只有一个启动配置,事后看来,这是我的问题 - 我应该为我的调试启动选项创建第一个启动配置的副本。
不幸的是,系统没有串行端口,所以我无法尝试通过它进行调试。
我现在能想到的唯一选择是尝试通过 USB 端口连接来自不同机器的调试器。但是,我是否不需要将目标 PC 配置为接受 USB 端口上的调试器,或者如果我获得正确的调试 USB 电缆,这是否可以正常工作?
最佳答案
弄清楚如何让机器再次运行。
在重新启动期间按 F8 键会出现修复选项。 选择修复并提供许多其他选项,包括恢复到以前的还原点以及打开命令提示符。
我试过以下...
打开命令提示符并键入“bcdedit -debug off”,该命令被接受但似乎没有帮助。 然后我尝试恢复到几天前的恢复点。我再次挂起重新加载。
原因,....这些都没有真正关闭启动配置的调试选项。
我需要做的是:在“修复”菜单中 - 打开命令提示符。 然后键入 bcdedit/enum 以列出引导配置。 然后调用
bcdedit /set {default} debug off
我想我最初尝试调用 bcdedit -debug off 是在引导管理器配置上将其关闭(它已经是),因为我没有指定特定的配置名称。
关于windows - 如何在启动时关闭 Windows 内核调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5182380/