我無法通過更改系統設置來在過程中創建小型轉儲。所以我的問題是:系統崩潰時,系統會為用戶進程創建一個小型轉儲嗎如果是,我需要配置哪個設置還是我必須以編程方式創建小型轉儲。小型轉儲在調查崩潰時有多有效我正在使用Windows XP,C ++,VC6
3 回答

一只甜甜圈
TA貢獻1836條經驗 獲得超5個贊
您需要以編程方式創建一個小型轉儲(一個例外,請參閱下一個鏈接)。CodeProject 在MiniDumps上有一篇不錯的文章?;旧希胧褂?code>dbghelp.dll,并使用該功能MiniDumpWriteDump()
(請參見MiniDumpWriteDump上的MSDN)。
這種轉儲的有效性在很大程度上取決于應用程序。有時,對于優化的二進制文件,它們實際上是無用的。另外,如果沒有經驗,堆/堆棧損壞錯誤將使您誤入歧途。
但是,如果優化程序對您的要求不是很高,則轉儲確實會幫助您解決大量錯誤,即所有具有堆棧跟蹤+本地使用變量值的錯誤都是有用的,即許多純虛擬的錯誤函數調用事物(即錯誤的銷毀順序),訪問沖突(未初始化的訪問或缺少NULL檢查)等。
順便說一句,如果您的維護策略以某種方式允許它,則將您的應用程序從VC6移植到可接受的東西(例如VC8或9)。

湖上湖
TA貢獻2003條經驗 獲得超2個贊
盡管至少需要Visual C ++ 2003,但我們還是在Firefox中使用了Google Breakpad。其好處還在于它還支持OS X和Linux。

慕標5832272
TA貢獻1966條經驗 獲得超4個贊
我最終在Windows上使用了CrashRpt(需要將整個代碼庫和工具鏈從MinGW移至本機Microsoft C / C ++編譯器),并在Linux上使用了google-breakpad。
- 3 回答
- 0 關注
- 684 瀏覽
添加回答
舉報
0/150
提交
取消