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