1、linux 上如何使用qBreakpad生成dump文件及调试
qBreakpad 下载地址: |
1.在复杂项目中,假如存在多份.pro文件,需要在每一份.pro文件上添加以下编译指令:
CONFIG+=thread exceptions rtti stl
QMAKE_CXXFLAGS_RELEASE=$$QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO
QMAKE_LFLAGS_RELEASE=$$QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO
上面的编译指令是为了编译出携带符号信息的程序,不然子项目会因不存在符号信息而无法定位到崩溃点
在添加上述指令后通过脚本打包编译得到的.run打包文件会比普通的大600兆左右
2.需要在main文件上添加头文件#include "../shared/qBreakpad/include/QBreakpadHandler.h"
然后在main函数上添加以下语句:QBreakpadInstance.setDumpPath("/home/aoi/work/crashproject/coredump/crashes");
3.需要在主目录的.pro文件上添加以下编译指令:
unix:!macx:LIBS+=-L$$PWD/../shared/qBreakpad/lib/ -lqBreakpad
#上面的-lqBreakpad的路径是qBreakpad库的路径