关闭

故障转储的linux与windows实现

341人阅读 评论(0) 收藏 举报

linux的一般大家都知道 : gdb <执行文件> core <dump文件>

其实我们在使用vc开发的时候,也可以定义输出故障转储文件

http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/WBS0206bugslayer.mspx?mfr=true

MS的这篇文章简单介绍了一下应用,其实不用它说的那么麻烦。

直接使用MiniDumpWriteDump函数

#include <dbghelp.h>

link dbghelp.lib,运行时的dbghelp.dll

使用SetUnhandleExceptionFilter函数定义一个无人捕捉的异常的函数(就是除了你写过的捕获的异常以外的),程序crash时,系统自动调用对应函数,在函数中调MiniDumpWriteDump把当前堆栈写到文件里。

 
扩展名为.dmp的文件用vc直接打开,运行就会重现异常,能看到部分相关变量的值。
嘎嘎,方便吧?


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1541788

 
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场