故障转储的linux与windows实现

转载 2007年10月07日 13:36:00

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

 

相关文章推荐

Linux内核崩溃转储机制

  • 2012-03-22 20:37
  • 105KB
  • 下载

windows 应用程序崩溃时的内存转储及dump文件的分析

1、在现场设置程序崩溃时的自动内存转储,得到dump文件        在windows 注册表如下项:      //HKEY_LOCAL_MACHINE/Software/Microsoft/...

linux日志转储及脚本操作

linux日志 Linux日志转储同步 Linux为日志指定运行脚本

linux日志转储:logrotate

背景:日志文件在排障过程中或者系统性能分析时经常被用到。对于忙碌的服务器,日志文件大小会增长极快,磁盘空间被消耗很快;操作单个过大日志文件也十分困难,可能会打不开等。因此需要管理日志文件,Linux系...

linux下C编程free()时出现飘忽诡异的段错误(核心已转储)问题

先说一下问题现场。 代码如下 free(volthisframe->Tops); free(volthisframe->Bots); printf("what\n"); free(volth...

转储Linux日志文件(Rotating Linux Log Files - Part 2: Logrotate)

logrotate is the default application used to rotate all other log files not handled by syslog itself...

转储Linux日志文件(Rotating Linux Log Files - Part 1: Syslog)

http://www.ducea.com/2006/06/06/rotating-linux-log-files-part-1-syslog/ Syslog is the default l...

kdump转储的内核实现

前面一篇文章介绍了kexec和kdump的思想,本文着重讲它们的另一个方面,就是kdump到底是如何转储垮掉内核的内存映像的。首先定义一个链表,它很重要。 static LIST_HEAD(vm...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)