捉虫笔记(五)-WinDbg调试3个时机

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版本。

3、源码地址

https://github.com/MingYueRuYa/dbg_assisant

相关推荐
脸红ฅฅ*的思春期6 天前
免杀对抗—WinDbg查看Windows内存
windows·windbg·windows内核·windows内存查看
世转神风-8 天前
winDbg专有名词解释
qt·windbg
SunkingYang12 天前
如何下载dump(C++程序生成)文件所需要的pdb文件,包含自动下载和手动拼接下载
c++·windbg·dump·dmp·pdb下载·手动下载·拼接下载
索迪迈科技3 个月前
记一次 .NET 某中医药附属医院门诊系统 崩溃分析
windows·c#·.net·windbg