1. breakpad简介
Breakpad是一个开源的跨平台crash捕捉工具,由谷歌和crashpad的前身用C++编写。它支持 macOS、Windows 和 Linux,可在进程崩溃时,记录.dump文件,并提供了相对应的工具来解析.dump文件帮助我们查找C和C++堆栈踪迹。
2. breakpad下载
官方github: https://github.com/google/breakpad
linux下编译可能需要lss头文件,众所周知的原因不一定能下载得到,可以在以下链接获取:
https://download.csdn.net/download/SuperYang_/89777728
3. breakpad编译
这里以windows mingw的方式进行编译说明,其他方式类似;首先需要确保你已经安装了mingw,这里不详细介绍,不会安装的自行百度,编译命令很简单:
./configure
mingw32-make
mingw32-make install
正常这样编译即可,但是实际上你这样编译的时候可能在./configure命令的时候报出如下的错误:
这其实是因为你./configure的命令具体后面会使用哪个make编译没有指定,或者你压根make都没安装,这里没安装就自行百度吧,太简单了不赘述,已经安装了需要执行下面命令
export MAKE=mingw32-make.exe
然后再执行编译的三条命令即可。
4. 使用libbreakpad.a
上述编译正常的情况下会在src目录生成libbreakpad.a静态库文件,安装目录也会生成,一样的东西
我这里以Qt creator编写c++代码的方式说明以下怎么使用,代码如下:
#include "client/windows/handler/exception_handler.h"
bool dumpCallback(const