gpt4 book ai didi

windows - 为什么我的 windbg 不在调试器列表中?

转载 作者:行者123 更新时间:2023-12-03 11:09:52 25 4
gpt4 key购买 nike

我已经在具有管理员权限的命令提示符中安装了我的 windbg 作为默认调试器。

然后我编写了一个写入空指针的程序,以便它导致崩溃。

崩溃后,会弹出一个窗口并显示“调试”或“程序关闭”选项。

所以我选择了“调试”,并得到了我上传的图像的窗口。

Q. 不应该有windbg可供选择吗?
问:一定有什么我错过了。你能建议我用windbg进行故障排除吗?

enter image description here

最佳答案

正如肖恩克莱恩在他的评论中所建议的那样,您可能是 没有将 WinDbg 设置为事后调试器。如果有,WinDbg 将启动而不是 vsjitdebugger.exe .

确保你真的跑了 windbg.exe -I从提升的命令提示符。您是否这样做并收到以下消息框?

WinDbg was successfully installed as the default postmortem debugger.

编辑:请注意,在 64 位 Windows 上,64 位应用程序和 WOW64(32 位)应用程序的事后调试器有单独的设置。各版本WinDbg收到时-I标志将自己设置为事后调试器 为自己的值(value) .也就是说,运行

C:\WINDOWS\system32>"C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -I

将设置 ...\x64\windbg.exe成为 64 位应用程序的事后调试器,但将离开 vsjitdebugger.exe作为 WOW64 应用程序的事后调试器。

您可以使用 REG QUERY 检查当前配置命令。如果你运行 windbg.exe -I,你的输出应该是这样的:
C:\Users\conio>reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug" /reg:64

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
UserDebuggerHotKey REG_DWORD 0x0
Debugger REG_SZ "C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\windbg.exe" -p %ld -e %ld -g
Auto REG_SZ 1

但如果你刚刚安装了 Visual Studio(并且没有运行 windbg.exe -I ),它可能会是这样的:
C:\Users\conio>reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug" /reg:32

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug
UserDebuggerHotKey REG_DWORD 0x0
Debugger REG_SZ "C:\WINDOWS\system32\vsjitdebugger.exe" -p %ld -e %ld

(无论您运行的是 /reg:64 还是 /reg:32 ,都需要 %WINDIR%\System32\REG.EXE%WINDIR%\SysWOW64\REG.EXE 分别获得“64 位注册表 View ”和“32 位注册表 View ”。这显然只适用到 64 位 Windows。)

关于你的问题:“不应该有windbg可供选择吗?”

不,看标题。它说“ Visual Studio 即时调试器”。它不是在系统上安装的不同调试器中进行选择的通用实用程序。它只运行 Visual Studio,但可以选择是启动新实例还是使用现有实例(如果安装了多个版本,我认为它可以让您选择 VS 版本)。

关于windows - 为什么我的 windbg 不在调试器列表中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35299446/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com