開源跨平台程式崩潰抓取工具 breakpad

2021-07-02 04:03:33 字數 1398 閱讀 7862

google的breakpad很強大,因為他是開源和跨平台的。

第三步:cmd進入命令列視窗輸入:set path=%path%;c:\python27(我的python安裝在c:\python27下)

第四步:用python編譯breadpad...cmd進入breadpad的目錄:f:\cg-work\breakpad\src\tools\gyp(我的breakpad是在f盤下)。然後輸入一下命令:gyp.bat --no-circular-check  "../../client/windows/breakpad_client.gyp".然後就會在f:\cg-work\breakpad\src\client\windows下生成breakpad_client.sln。

這個生成了就可以編譯了。 

自己新建乙個win32工程然後給出下面的**:

#include "stdafx.h"

#include #include #include #include "client/windows/handler/exception_handler.h"

#include "client/windows/sender/crash_report_sender.h"

using namespace google_breakpad;

static int kcustominfocount = 2;

custominfoentry kcustominfoentries = ;

static exceptionhandler* handler = null;

customclientinfo custom_info = ;

const size_t kmaximumlinelength = 256;

bool showdumpresults(const wchar_t* dump_path,

const wchar_t* minidump_id,

void* context,

exception_pointers* exinfo,

mdrawassertioninfo* assertion,

bool succeeded)

queueuserworkitem(null, text, wt_executedefault);

return succeeded;

}const wchar_t kpipename = l"\\\\.\\pipe\\breakpadcrashservices\\testserver";

int _tmain(int argc, _tchar* argv)

隨後你就可以在c:\\dumps資料夾下看到這個dump檔案了,然後把這個dump檔案和exe檔案還有同版本的pdb檔案放在同一目錄下,然後雙擊開啟dump檔案。就可以看到崩潰時產生的堆疊資訊了。

一次跨平台程式崩潰問題

最近接手乙個程式移植的專案。原專案是執行在vxworks下的c 同時還提供了windows平台的工程。現在需要將其改造成arm版linux下和windows下跨平台的程式。原 中也包含windows和linux兩個平台程式。改造過程只是對arm版進行適應性修改,對部分功能進行補充。但是在除錯過程中卻...

Kivy跨平台開源框架之Android打包

打包成 android 可執行檔案的3種方式 1 可以使用 python for android 為 android 建立乙個包。2 可以使用 buildozer 工具自動完成整個過程。3 可以使用 kivy launcher 打包,這樣不用編譯就能執行 kivy 應用。對於新手,建議使用 buil...

Android平台程式崩潰的型別及原因

android平台程式崩潰大家都應該遇到過,force close和anr應該是大家遇到較多的。這裡把android平台程式崩潰的各種型別做乙個簡述和原因列舉。1.anr 可見anr 發生場景 應用發生anr。崩潰症狀 系統彈出視窗詢問使用者選擇 force close 或者 wait force ...