故障轉儲的linux與windows實現

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直接打開,運行就會重現異常,能看到部分相關變量的值。
嘎嘎,方便吧?
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章