我不知道任何開放的多平臺崩潰報告系統,除了google-breakpad。即使谷歌霹靂板不支持MinGW,這是我知道的,你仍然可以從你的應用程序回溯。項目Dr. Mingw提供了很棒的DLL:mgwhelp.dll和exchndl.dll。使用你需要:
- 用調試信息編譯。見Dr. Mingw常見問題。
- 包括mgwhelp.dll和應用程序啓動時通過顯式調用LoadLibrary與應用程序二進制exchndl.dll
- 和負載exchndl.dll( 「exchndl.dll」)
例如像這樣:
QFile drmingw("exchndl.dll");
if(drmingw.exists())
{// If don't want create reports just delete exchndl.dll from installer
LoadLibrary(L"exchndl.dll");
}
崩潰後,你會在哪裏二進制是相同的目錄中找到文件binary_name.RPT與回溯。
我還能做什麼?
win32:!win32-msvc*{
# Strip debug symbols.
QMAKE_POST_LINK += objcopy --only-keep-debug bin/${TARGET} bin/${TARGET}.dbg &&
QMAKE_POST_LINK += objcopy --strip-debug bin/${TARGET} &&
QMAKE_POST_LINK += objcopy --add-gnu-debuglink="bin/${TARGET}.dbg" bin/${TARGET}
}
- 每次運行檢查,如果.rpt文件存在,併發送或保存在報告目錄中。例如,我使用gist收集報告。