Dump文件介绍与使用
(1)什么是dump文件
从软件开发的角度上,dump文件就是当程序产生异常时,用来记录当时的程序状态信息(例如堆栈的状态),用于程序开发定位问题。
(2)如何产生dump文件
网络上介绍了好几种方式:
任务管理器
http://blog.csdn.net/whatday/article/details/47275711(该方法已经验证,简单有效)程序的方法
对于windows的程序,会注册一个异常处理函数的回调函数,在函数调用MiniDumpWriteDump,当程序异常退出是就会产生dump文件。
(3)为何要使用dump文件
对于发布的现场的软件产品,由于复杂场景的考验,对于在办公室开发的人员很难模拟重现问题,通过对dump文件的调试,对于快速准确的定位问题是一种极为有效的方式
(4)如何利用dump定位源代码
dump文件可以利用WinDbg打开,也可以直接用vs打开,这里主要介绍怎么使用VS开发的程序的源代码定位。这里需要严格需要的文件:
现场版本dll以及exe文件
编译此版本的pdb文件
将以上文件与dump文件放在一个目录。
现在通过一个具体的例子来实现整个过程:
首先,编写源代码testDump,程序出现异常
然后选择(2)中方法1生成dump文件。
将编译是的exe,pdb,dmp放在一个文件目录下
通过vs 打开dmp文件
设置pdb文件路径
设置源工程路径
运行结果
这是debug版本的运行情况,对于release版本的,运行dmp文件上需要加上dll的文件,这里严格要求文件的版本一致,即使是重新编译的文件也无法定位到源代码