一、
WinDbg
功能简介
WinDbg是在windows平台下,强大的用户态和内核态调试工具。它能够通过dmp文件轻松的定位到问题根源,可用于分析系统蓝屏、程序崩溃原因,是我们日常工作中必不可少的一个有利工具,学会使用它,将有效提升我们的问题解决效率和准确率。
二、
WinDBG
工具备份路径:
X86:\\192.168.10.248\public\@主防\Tools\WinDBG\WinDbg(x86).rar
X64:\\192.168.10.248\public\@主防\Tools\WinDBG\WinDbg(x64).rar
三、设置符号表:
调试符号是WinDbg的数据库,必须存在设置符号表才能分析dump
Windbg设置调试符号设置
1、运行WinDbg软件,然后按【Ctrl+S】弹出符号表设置窗
2、将符号表地址: SRV* C:\Symbols *http://msdl.microsoft.com/download/symbols粘贴在输入框中,点击确定即可。(按照这样设置,WinDbg将先从本地文件夹C:\ Symbols中查找Symbol,如果找不到,则自动从MS的Symbol Server上下载Symbols)
1、运行WinDbg软件,然后按【Ctrl+S】弹出符号表设置窗
2、将符号表地址: SRV* C:\Symbols *http://msdl.microsoft.com/download/symbols粘贴在输入框中,点击确定即可。(按照这样设置,WinDbg将先从本地文件夹C:\ Symbols中查找Symbol,如果找不到,则自动从MS的Symbol Server上下载Symbols)
我们再在后面增加一个目录 c:\apppdb 这样,就可以将我们要调试的程序的符号文件放到这个目录下,windbg会自动加载。
配置内容如下所示:
SRV*C:\Symbols*
http://msdl.microsoft.com/download/symbols;c:\apppdb;
四、打开蓝屏
dmp
文件(尽量获取系统
MEMORY.DMP
)
当获取一个dmp文件后,可使用【Ctrl+D】快捷键来打开一个dmp文件,或者点击WinDbg界面上的【File=>Open Crash Dump...】按钮,来打开一个dmp文件。第一次打开dmp文件时,可能会收到如下提示,出现这个提示时,勾选“Don't ask again in this WinDbg session”,然后点否即可。当你想打开第二个dmp文件时,可能因为上一个分析记录未清除,导致无法直接分析下一个dmp文件,此时你可以使用快捷键【Shift+F5】来关闭上一个dmp分析记录。
五、总结几个简单常用命令分析
dmp
!analyze -v windbg自动加载符号进 自动分析dump原因
观察信息点:
蓝屏代码 BUGCHECK——STR:0x8E
触发蓝屏的程序 PROCESS——NAME: ~~~~
!process 验证蓝屏程序触发了蓝屏
信息Image后面就是程序触发驱动蓝屏
lm 列出所有模块
lmvm +无后缀模块名称 列出特定模块
!lmi---- extension displays detailed information about a module.
有关命令的帮助可以参考工具自带文档:Help->Contents->Debugging Tools for Windows->Debuggers->Debugger Reference,该目录下列集了所有指令机器功能说明:
六、分析建议
在我们测试过程常常遇到系统的蓝屏现象,我们可以掌握工具简单方法及时快速的分析定位一个蓝屏dump是否与自身产品相关,不仅将有效提升我们的问题解决效率和定位问题的准确率,还避免因为非产品问题而给研发带来不必要的麻烦。
一个工具的熟练使用和运用不是一蹴而就的,需要时间的慢慢积累,作为一个初学者并不一定每个dmp文件都可以分析出有用的结论,因此分析dmp并不需要对每个dmp文件的结果过分纠结,其实蓝屏dmp分析也是观察一个规律或者规模的问题定位方法而已。随着以后深入的学习,希望能给我们工作带来无限帮忙,加油!~