一、概述
Windbg是在windows平台下,强大的用户态和内核态调试工具。相比较于Visual Studio,它是一个轻量级的调试工具,所谓轻量级指的是它的安装文件大小较小,但是其调试功能,却比VS更为强大。它的另外一个用途是可以用来分析dump数据。
二、MAP文件调试
- 检测代码根据现象日志先分析可能出现的原因代码的位置
- 查找Map文件中该代码的地址
- 添加需要检测的进程
- 获取组件物理地址
- 根据代码在map中地址+map偏移地址(0x1000)+进程中组件所在的物理地址
- 根据5中的地址设置断点
- 创建环境调试判断是否中断
补充:dump文件是否可以调试---否(无法设置断点进行调试)
三、MAP文件的生成配置
- VC6配置
- VS2008配置
需要文件:map文件文件
四、dump文件的处理
在Windbg中,通过File→Open Crash Dump菜单可以打开dump文件进行分析。打开dump文件后,运行调试命令看到的信息和状态,就是dump文件保存时进程的状态。通过dump文件能够方便地保存发生问题时进程的状态,方便事后分析。
根据崩溃地址算出代码崩溃的位置
(crash address) – (preferred load address) – 0x1000