Windbg配置自动调试
ssooking Lv5

前言

调试时,有时我们想在应用程序停止发生响应、崩溃、访问冲突、溢出等错误时,自动开启调试。Windbg提供了这个功能,用户可以在注册表中进行配置,当程序崩溃时系统会自动调用注册表中指定的调试器进行调试。

配置自动调试

1.打开注册表AeDebug,如果没有就创建这个项

1
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug

2.新建REG_SZ字符串,名字为Auto,值为0

3.新建REG_SZ字符串,名字为Debugger,值为如下内容:

1
"C:\Program Files\Windows Kits\10\Debuggers\x64\windbg.exe" -p %ld -e %ld -g

这里设置的就是调试器的路径和参数。

嫌麻烦的可以把下面的内容保存为 AeDebug.reg文件,双击导入即可。

1
2
3
4
5
6
7
8
9
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
"UserDebuggerHotKey"=dword:00000000
"Auto"="0"
"Debugger"="\"C:\\Program Files\\Windows Kits\\10\\Debuggers\\x64\\windbg.exe\" -p %ld -e %ld -g"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\AutoExclusionList]
"DWM.exe"=dword:00000001

开始自动调试

调试时,先用命令行方式启动windgb.exe -IA作为自动调试器。

运行windbg -I

Reference

Configuring Automatic Debugging

启用事后调试

Setup WinDbg to Catch Crash

启用即时调试

  • Post title:Windbg配置自动调试
  • Post author:ssooking
  • Create time:2020-01-20 18:24:00
  • Post link:https://ssooking.github.io/2020/01/windbg配置自动调试/
  • Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.