您的位置:首页 > 运维架构 > Linux

故障转储的linux与windows实现

2007-10-07 13:36 281 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: