本文介绍Mac上使用Breakpad生成分析崩溃文件
Breakpad简介
Breakpad是谷歌提供的一个跨平台崩溃转储和分析工具集。主要由以下组件构成:
- 客户端,Breakpad以库的形式包含在应用程序中,可以监视当前进程或其他进程的运行状态,在进程崩溃或主动请求时写入minidump中。
- 符号文件生成器,是Breakpad提供的一个程序(tools/dump_syms),读取程序文件中的调试信息,生成符号文件*.sym。
- 分析处理器,也是Breakpad提供的一个程序(tools/minidump_stackwalk),输入dump和对应符号文件,输出进程崩溃时的堆栈信息。
源码下载地址:https://github.com/google/breakpad
感兴趣的可以下载自己编译,这里不再赘述。
生成符号集
调用方法:dump_syms 应用(库)文件 > 符号文件
符号文件后缀名需用.sym
sym文件第一行说明了需要的符合文件目录名,必须按照这个目录存放符号文件,否则下一步分析失败。
dump_syms ../../test/test.app >../../test/test.sym
head -n1 test.sym
MODULE mac x86_64 AA5EBCBRDBJJ3AF5AATY6U1990A1OPCLO Test2
mkdir -p ./symbols/Test2/AA5EBCBRDBJJ3AF5AATY6U1990A1OPCLO
mv test.sym ./symbols/Test2/AA5EBCBRDBJJ3AF5AATY6U1990A1OPCLO
<