MFC捕捉程式執行崩潰時的Dump資訊捕捉

2021-10-06 15:04:40 字數 576 閱讀 1316

程式執行過程**現崩潰,而且無任何有價值的資訊,如下圖所示:

為了便於我們進行程式定位,我們可以使用dump檔案進行協助我們進行問題分析。

1.匯入相應標頭檔案和庫檔案

#include

#pragma comment(lib,"dbghelp.lib")

2.編寫生成dump的函式

//建立dump檔案

void createdumpfile(cstring lpstrdumpfilepathname, exception_pointers *pexception)  

3.函式呼叫,在程式的初始化函式中如oninitdialog()

//呼叫捕捉函式
4.同時,需要修改專案的屬性,鏈結器->除錯,將「生成除錯資訊」設定為「是」。

5.將生成時的除錯檔案(*.pdb)也一同拷貝至程式執行目錄下。

Linux下的C 程式崩潰時列印崩潰資訊

在某些極端情況下,原本正常執行的程式發生了崩潰。這時候想通過除錯是很難發現出錯的地方的,所以在崩潰時列印出錯點的呼叫堆疊是十分有必要的。使用的命令 catchsegv program args 例如 我們的程式是test,則可在控制台輸入 catchsegv test 如果使用gcc g 編譯tes...

C 記錄程式崩潰時的dumpfile

新上線的軟體在外場偶爾會出現異常崩潰的情況。由於試用範圍比較分散,很難一一前往現場定位問題。而傳統的log日誌方法,在崩潰的情況下,並不能比較準確的表示出問題位置,這使得軟體除錯程序緩慢。後在公司前輩的指點下,我們想到了使用window自帶的dumpfile來記錄崩潰時刻的堆疊資訊,這樣配合log日...

MFC程式的執行過程

一 程式的誕生 2 afxwinmain執行afxwininit,後者呼叫afxinitthread,把訊息佇列盡量加大到96 6 cmyframewnd構造呼叫create,產生主視窗,我們在create引數中指定的視窗類是null,於是mfc根據視窗種類,自行的為我們註冊乙個名為 afxfram...