如何分析dump文件

来源:互联网 发布:淘宝客服怎么分流 编辑:程序博客网 时间:2024/05/17 21:59

1.地址:

 

(1.)http://download.csdn.net/detail/wu_123_456/7321919   这是我的demo,大家可以下载下来在VS2008中运行。

(2.)http://download.csdn.net/detail/wu_123_456/7321967   这个是打开.dmp文件的软件

 

2.解析:

代码在上篇blog中已经阐述,我的代码中主要用两条语句测试:

void Cdump_demoDlg::OnBnClickedOk(){// TODO: 在此添加控件通知处理程序代码char* p = "hello world";p[0]='H';OnOK();}

很明显p[0]='H';语句是错误的,“hello world”存储在文字常量区,这个区域是只读的,不能进行写操作。

 

3.运行:

生成两个文件:1个是.dmp文件,1个是txt文件

(1.)

(2.)

4.分析:

(1.)找到windbg.exe

(2.)打开.dmp文件

打开后,如果你没怎么学内存调试(汇编语言),你会发现里面的东西根本没法定位bug的位置

(3.)!analyze -v

我们需要借助一个命令来进一步分析dmp,这个命令就是:!analyze -v,这个命令能够自动分析绝大部分bug原因。

(4.)定位bug

 

 

0 0