linux下Qt編程 使用Google Breakpad捕獲異常的使用步驟


1.下載源碼

1下載breakpad: breakpad源碼可在https://github.com/google/breakpad.git 

2linux_syscall_support.h: https://download.csdn.net/download/bingzhongdehuoyan/9716614 (需要CSDN下載)

https://chromium.googlesource.com/linux-syscall-support/下載該文件(這個需要FQ)

linux_syscall_support.h放到breakpad/src/third_party/lss/

要新建lss目錄復制文件到該目錄。

 

2. 編譯

控制台cd breakpad 進入目錄

運行指令 ./configure

運行指令 make -j4

運行指令 sudo make install

 

 

 

 

 

 

 

3. 配置Qt環境

1)在.pro工程文件里面添加配置,鏈接到庫 記得要定義:DEFINES += USE_BREAKPAD

 

 

 

 

2)為了生成可讀的stack tracebreakpad需要你將binaries里的調試符號(debugging symbols)轉換成基於文本格式的symbol files。首先確保你在編譯代碼的時候加上 -g 參數來生成帶調試符號。  

即在Pro文件里面添加:QMAKE_CXXFLAGS += -g

4. 測試breakpad,生成dmp文件

 

 

 

 

運行后崩潰報錯:

 

生成了dmp文件:

 

 

 

5. dmp文件轉換成能看的懂的txt文件

1)獲取symbol文件

命令:dump_syms  ~/wjg/build-DC520-debug/DC520  >  DC520.sym

DC520是我的可執行文件 如圖:

 

 

 

2)生成Stack Trace

(1)為了可以使用 ``minidump_stackwalk` 工具來生成stack trace,你需要將文件放置在一定的目錄結構,symbol file的第一行說明了需要放置的目錄結構

(2)查看該文件頭信息:# head -n1 DC520.sym

(3)並根據該信息建立文件夾,並放入符號文件

 

(4) 解析dmp文件

Sudo minidump_stackwalk ~/wjg/build-DC520-debug/crash/9e907142-d52c-47dd-6865798a-be243b8c.dmp ./symbols > DC520.txt

 

 

 

6. 查看轉換成txt文檔的日志文件

 

 

 

至此成功用breakpad抓取崩潰報告並解析完成

參考鏈接:

https://blog.csdn.net/u011720560/article/details/105639279

https://blog.csdn.net/BingZhongDeHuoYan/article/details/53743659

https://www.jianshu.com/p/295ebf42b05b


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM