iOS 调试~之 符号化崩溃报告

Symbolicating Crash Reports(符号化崩溃报告)

符号化 是解决将树结构地址转化Wie源码的方法和函数的名字、可认识的标示符的进程;如果没有这个步骤很难找到崩溃出现在哪里。


iOS 调试~之 符号化崩溃报告_第1张图片
图示:编译运行导报上架流程

1)当编译器将源码转化为机器码时,它同样产生调试的符号,这个符号集匹配每一个机器的介绍在被编译为二进制对应到源码的行。
依赖调试信息格式 (DEBUG_INFORMATION_FORMAT)的建立设置,这些调试符号被存储在二进制或在一个比较的调试符(dsym)文件中。
默认,一个应用(debug)调试配置的建立存储了调试符号在被编译好的二进制文件中当 而release方式建立程序应用存储调试符号在一个协同的dsym文件去减少字节大小。
调试符号文件和应用的二进制被绑定通过UUID(per-build-basis),一个新的UUID被生成每一个应用的建立和唯一的标示符。
甚至一个方法(标识)执行被重建从相同的源代码中国,和相同的编译器设置,它将有一个不同的建立UUID。
调试符号文件来自于随后的简历,甚至从相同的源文件中,将不会和其他的简历程序进行相互操作。
【即为:(1)编译文件和描述符进行绑定 , (2)UUID是一一对应,程序之间和dsym不会混淆】

2)当你归档应用用于发布时,xcode将会集合应用二进制和.dsym 文件并且存储它们在一个位置在你的home文件夹下面。你能够找到所有你的归档得应用在xcode组织中在 "Archived” 字段下。 App Distribution Guide
【也就是打包的是偶,可以在这里会看到.dsym 文件进行下载】
重点: 从测试、应用预览和自定义中符号化崩溃,你必须retain 归档对于你的每一次创建应用。

3)发布应用通过app store 或者构架一个test fight 的test版本,你将给出的选择包括dsym文件当你上传你的归档文件到iTunes Connect。在子类从test flight 中集合用户和客户当他们有选择分享诊断数据的时候。对于更多信息查看App Distribution Guide 。重点:崩溃日志从app预览中收到地 信息不会被符号化,甚至包括你的的dsym文件当你上传你的归档文件到iTunes Connect上。你将需要符号化更多崩溃报告来自于应用预览使用xcode。可看:Symbolicating Crash Reports With Xcode.

4)当应用崩溃的时候,一个没有符号的崩溃日志被创建和存储在设备上。
5)用户取回直接取回崩溃日志从设备中【Debugging Deployed iOS Apps 步骤】,如果你已经发布你的应用工通过 AdHoc or Enterprise distribution,这个只有一种方式就是通过用户。

6)奔溃报告从设备上获取没有符号化的,将需要被符号化通过xcode。xcode使用dsym文件链接你的二进制应用去替代每一个地址在backtrace和原始的代码。结果就是符号化崩溃报告。
7) 如果用户有选择分享诊断数据到苹果,或者你的用户已经安装你的应用的测试版本通过testflight。崩溃日志被上传到app Store上。

8)app store 符号化崩溃日志和组织类似的崩溃报告。这个的总数崩溃报告被调用在一个崩溃点。

9)符号化崩溃报告用于解决bug,在xcode的崩溃组织中。

你可能感兴趣的:(iOS 调试~之 符号化崩溃报告)