來自:
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 ...