1、调试时机
我把WinDbg按照调试的时机,分为三种:
1.1、事前调试
有的时候我们需要项VS调试一样,直接F5启动调试。
1.2、事中调试
进程先启动,中途我想附加调试。
1.3、事后调试
进程遇到异常退出,自动呼出调试器调试。
但是需要注意如果有其他的异常处理程序,则可能无法呼出调试器。
2、配置助手软件
但是在开发过程中,需要灵活处理这些时机。每次手动修改配置,着实费劲,所以我写了个小工具,可以自动化。
我们先看下软件截图:
2.1、软件操作方式
在软件启动的时候会搜索全盘路径,找到windbg.exe或者DbgX.Shell.exe(预览版),显示在WinDbg路径一栏。
- 镜像文件映射
为了模仿想vs一键启动调试,利用了镜像文件映射方法,只要你启动了被调试的程序,WinDbg就会自动启动并进入调试状态。
- 附加进程
最右侧的刷新按钮,可以刷新进程。接着选择你要附加的进程即可,注意这个过程稍微慢一点。
- 事后调试
事后调试,英文叫做:postmortem debug,当应用程序崩溃时,自动调用WinDbg附加上去。注意如果软件内部拦截了崩溃异常信息则不会唤起WinDbg.
2.2、注意事项
- 无法附加和镜像文件映射
此时需要查看你选择的WinDbg版本是否正确,比如x86和x64版本,但是你要是选择WinDbg预览版则没有这个问题。
- 每次操作都需要注意你选择的WinDbg版本。
- 已经过滤arm版本的WinDbg。
- 如果使用WinDbg Preview版本在镜像映射模式下调试带有管理权权限的程序,需要将WinDbg Preview复制一份出来,测试选择复制出来的WinDbg版本。