breakpad是一组用于实现崩溃报告系统的客户端和服务器组件,然而我在google官方及网上仅能找到客户端的使用方法,google官方似乎并没有提供服务端的东西,仅提供了两个用于上传崩溃文件的文件(源码中的src/tools/linux/symupload文件夹)。
breakpad源码见 https://chromium.googlesource.com/breakpad/breakpad 。需翻墙访问,用git下载源码也需翻墙,以下所有涉及到网络的操作(如git clone)均建立在翻墙的环境下,如何翻墙就自行百度。
本文所用Linux环境为64位CentOS 7,其他Linux系统版本应该也可以,breakpad本身是跨平台的,不过前提是gcc或者说g++得支持C++ 11,即gcc或g++版本需要4.8.x及以上。(注:下文终端命令中#
号指root用户命令提示符,不用输入到终端上。)
0 前期工作
0.1 安装g++ 4.8.x
CentOS 7能直接用yum安装gcc 4.8.5:
# yum install gcc gcc-c++ -y
0.2 安装git
# yum install git -y
0.3 翻墙
方法就自行百度,Linux翻墙还是怪麻烦的。
1 编译安装breakpad
1.1 下载breakpad源码
breakpad源码可在 https://chromium.googlesource.com/breakpad/breakpad 下载,建议用git下载:
# git clone https://chromium.googlesource.com/breakpad/breakpad
若实在无法翻墙下载的朋友,可以在以下链接下载breakpad源码:
http://download.youkuaiyun.com/detail/bingzhongdehuoyan/9716434
1.2 下载linux_syscall_support.h文件
这步是必须的,若没有breakpad/src/third_party/lss/linux_syscall_support.h
这个文件`,编译时会出现这个错误:
该文件可在https://chromium.googlesource.com/linux-syscall-support/下载,并放到breakpad/src/third_party/lss/
中:
# git clone https://chromium.googlesource.com/linux-syscall-support
# mkdir -p breakpad/src/third_party/lss
# cp linux-syscall-support/linux_syscall_support.h breakpad/src/third_party/lss/
若实在无法翻墙下载的同学,可以在以下链接下载linux_syscall_support.h:
http://download.youkuaiyun.com/detail/bingzhongdehuoyan/9716614