WinDbg分析DMP文件方法完全攻略
2016-09
睿丰德信息科技有限公司
(3)在(2)弹出的确定框后点击确定按钮完成,将Dr.Watson设置为默认应用程序调试程序。 Dr.Watson系统自带的程序。 (4)再次在运行窗口中输入:drwtsn32,如下图:
(5)点击确定按钮,在弹出的对话框中按照下列方式设置
(6) 点击确定按钮完成DMP文件设置。
二、关闭Dr.Watson方法 (1)打开注册表 (2)在注册表中进入主键[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug],然后将“AUTO”键值设置为0如下图:
三、Windbg下载地址 http://msdn.microsoft.com/en-us/windows/hardware/gg463009.aspx,下载完成后安装 四、DMP文件获取 (1) 用vs2010创建一个基于win32的程序,其源码如下:
(2)我们知道在学习C++中整数不能跟0进行除运算,否则会引起程序崩溃。而(1)中就是编写能触发0的异常,导致程序结束运行的程序。编译(1)中的程序,结果如下:
(3)运行(2)中test.exe程序 ,程序崩溃。如下图:
(4) 按照《一、DMP文件获取设置》步骤实现Dr.Watson设置为默认应用程序调试程序。 (5)再次运行运行(2)中test.exe程序 如下图:
点击确定完成dmp文件的生成。 (6)打开在(4)中设置dmp文件路径。(本例中默认地址为:C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson)如下图:
其中user.dmp就是我们需要的dmp文件。 五、分析《四、DMP文件获取》中获取的DMP文件 (1)符号表路径设置(参考下图)
(2)在弹出对话框中输入: D:\testdmp;srv*d:\symbolslocal*http://msdl.microsoft.com/download/symbols 点击ok按钮
注意:D:\testdmp; 这个是我们存放符号的文件夹,在进行此步骤前创建。 其中;srv*d:/symbolslocal*http://msdl.microsoft.com/download/symbols设置的目的是下载该程序用到的操作系统相关的库函数的符号表到本地 (3) 将前面《四、DMP文件获取》中程序生成的符号test.pdb(下图)拷贝到D:\testdmp中
拷贝后结果如下
(4) 源代码路径设置(参考下图)
(6)DMP文件导入(参考下图)
点击打开,完成dmp导入。导入后自动定位错误的行,并在command中给出崩溃的原因,如下如:
RFID管理系统集成商 RFID中间件 条码系统中间层 物联网软件集成