本文主要介绍C++开发过程中出现程序崩溃后,如何进行分析定位bug(基于xp系统)。
一、DMP文件获取设置
(1)在运行窗口中输入 drwtsn32 -i ,并且点击确定
WinDbg分析DMP文件方法完全攻略
(2)在(1)确定后d出如下对话框
WinDbg分析DMP文件方法完全攻略
(3)在(2)d出的确定框后点击确定按钮完成,将Dr.Watson设置为默认应用程序调试程序。
Dr.Watson系统自带的程序。
(4)再次在运行窗口中输入:drwtsn32,如下图:
WinDbg分析DMP文件方法完全攻略
(5)点击确定按钮,在d出的对话框中按照下列方式设置
WinDbg分析DMP文件方法完全攻略
(6) 点击确定按钮完成DMP文件设置。
二、关闭Dr.Watson方法
(1)打开注册表
(2)在注册表中进入主键[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug],然后将“AUTO”局誉培键值设置为0如下图:
WinDbg分析DMP文件方法完全攻略
三、Windbg下载,下载完成后安装
四、DMP文件获取
(1) 用vs2010创建一个基于win32的程序,其源码如下:
WinDbg分析DMP文件方法完全攻略
(2)我们知道在学习C++中整数不能跟0进行除运算,否则会引起程序崩溃。而(1)中就是编写能触发0的异常,导致程序结束运行的程序。编译(1)中的程序,结果如下:
WinDbg分析DMP文件方法完全攻略
(3)运行(2)中test.exe程序 ,程序崩溃。如下图:
WinDbg分析DMP文件方法完全攻略
(4) 按照《一、DMP文件获取设置》步骤实现Dr.Watson设置为默认应用程序调试程序。
(5)再次运行运行(2)中test.exe程序 如下图:
WinDbg分析DMP文件方法完全攻略
点击确桐唯定完成dmp文件的生成。
(6)打开在(4)中设置dmp文件路径。(本例中默认地址为:C:\Documents and Settings\All Users\Application Data\Microsoft\Dr Watson)如下图:
WinDbg分析DMP文件方法完全攻略
其中user.dmp就是我们需要的dmp文件。虚亮
五、分析《四、DMP文件获取》中获取的DMP文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)