3 回答

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

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

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