使用windbg分析蓝屏.dmp文件

一、windbg的配置。
1.一般WDK都包含windbg,譬如:H:\WinDDK\7600.16385.1\Debuggers\windbg.exe。
2.windbg访问符号需要SYMSRV.DLL 和 SYMSTORE.EXE,应在环境变量添加windbg安装路径。操作方法:计算机-->属性-->高级-->环境变量,在系统变量列表框双击“path”,在变量值最后加一个分号copy上你的windbg安装目录,点确定。
3.在系统变量列表框中新建一个环境变量_NT_SYMBOL_PATH 值为: SRV*c:\dbg_symbol*http://msdl.microsoft.com/download/symbols。操作方法:计算机右键-->属性-->高级-->环境变量 ,点击新建,把上面的变量名和变量值填上。
4.重启计算机。
二、提取蓝屏.dmp文件。
1.计算机-->属性-->高级系统设置-->启动与故障恢复-->设置下勾选“将事件写入系统日志”、选择“核心内存转存”,覆盖任何现有文件。
2.下次蓝屏后可到系统盘的Windows下寻找,譬如:C:\Windows\MEMORY.DMP。
三、分析.dmp
1.打开windbg,File|Symbol File Path...粘贴对应驱动文件的pdb(程序数据库,包含调试信息如,符合表等)文件。
2.File|Open Crash Dump,等加载完后输入命令:!analyze -v
3.根据错误号可以查找大致导致蓝屏的原因,蓝屏错误号

4.根据STACK_TEXT:或者FAULTING_SOURCE_CODE: 可以知道对应源码的哪一行,有pdb的前提下,否则只有地址偏移。需要对应map文件或者用IDA Pro反汇编对应的.sys文件才能找到对应位置。结合蓝屏错误号的提示分析代码。

另外,下次分析时直接打开File|Symbol File Path...添加可执行文件的pdb路径即可,符号表路径会根据环境变量自动加上不需手动指定。

你可能感兴趣的:(Windows驱动)