DMP檔案的生成和使用

2021-06-27 07:36:18 字數 1096 閱讀 8598

來自:

1.minidump.h

#include

#include

#include

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

long winapi myunhandledfilter(struct _exception_pointers *lpexceptioninfo)

else

::closehandle(hfile);

}else

return ret;

}2 呼叫:

int main()

3.除錯dump檔案

把dmp檔案和exe, pdb檔案放在同一目錄下, 然後用編譯器(如vc)開啟, 然後開始除錯(f5進入除錯)就會中斷到剛才中斷的地方.

在基於對話方塊的程式測試

vc2008 release生成dmp遇到以下問題:

vc2008 release生成dmp,是要在工程屬性裡設定那些引數

以下設定無效:

在release模式下,修改 「專案->屬性->配置屬性->c/c++->優化->優化」  為 「禁用」,即可以除錯。 

debug版本 已經可以產生 dmp

解決方法:

c/c++--》general-->debug information format : program database for edit & continue(/zi) 

出現錯誤:

cl : command line error d8016 : '/gl' and '/zi' command-line options are incompatible 

解決方法:

c/c++--》optimization-->whole program optimization :enable link-time code generation(/gl) 改為 :"no"

編譯通過,但無法生成dmp檔案

解決辦法:

linker-->debugging-->generate debug info: yes(/debug)

以上步驟在新建的控制台程式debug、release中測試通過,

**:

DMP檔案的生成和使用

1 生成dmp的程式 異常處理 exception execute handler equ 1 表示我已經處理了異常,可以優雅地結束了 exception continue search equ 0 表示我不處理,其他人來吧,於是windows呼叫預設的處理程式顯示乙個錯誤框,並結束 excepti...

DMP檔案的生成和使用

1 生成dmp的程式 1 用windbg。2 用vc,把dmp檔案和exe,pdb檔案放在同一目錄下,然後用編譯器 如vc 開啟,然後開始除錯就會中斷到剛才中斷的地方.3 以下是網上蒐集到的條件,尚未驗證是否是必需的,如果不能正確的生成dmp,可嘗試以下方法 1 setunhandledexcept...

qt creator 如何生成dmp檔案

一 說明 程式崩潰時產生dmp檔案 路徑 dmp 檔案中 名稱 為yyyy mm dd hh mm ss.bmp vs 可以開啟檢視內容 二 使用方法 1 pro檔案中增加 libs ldbghelp 2 main檔案中包含該標頭檔案 3 在main函式體內,註冊異常捕獲函式 ifdef q os ...