- 符号集是我们对ipa文件进行打包之后,和.app文件同级的后缀名为.dSYM的文件,这个文件必须使用Xcode进行打包才有。
- 每一个.dSYM文件都有一个UUID,和.app文件中的UUID对应。而.dSYM文件中每一条崩溃信息也有一个单独的UUID,用来和程序的UUID进行校对。
- 我们如果不使用.dSYM文件获取到的崩溃信息都是不准确的。
- 符号集中存储着文件名、方法名、行号等信息,是和可执行文件的16进制函数地址对应的,通过分析崩溃的.crash文件可以准确知道具体的崩溃信息。
我们每次Archive一个包之后,都会随之生成一个dSYM文件。每次发布版本的时候需要备份这个文件,以方便以后的调试。
如果项目archive之后没有生成dSYM文件
这两个地方设置没问题后,连上真机进行archive
接下来是查看dSYM文件:
一般第三方的crash上报分析平台需要项目对应dSYM文件,去配置错误映射表:
如:MTA
http://developer.qq.com/wiki/mta/MTA%E9%94%99%E8%AF%AF%E7%AE%A1%E7%90%86/MTA%E9%94%99%E8%AF%AF%E7%AE%A1%E7%90%86.html
注意,以下情况不会有崩溃信息产生:
- 内存访问错误(不是野指针错误)
- 低内存,当程序内存使用过多会造成系统低内存的问题,系统会将程序内存回收
- 因为某种原因触发看门狗机制