符号化

[译]了解和分析iOS应用崩溃报告

人盡茶涼 提交于 2020-03-02 06:53:07
当一个应用发生崩溃时会产生一份崩溃报告(Crash Report),该报告可以帮助我们了解崩溃的产生原因。该文档讲述了关于怎么样符号化、理解和分析崩溃报告的相关内容。 介绍 获取崩溃和低内存报告 分析崩溃报告 头部信息 异常代码 应用具体信息 回溯 线程状态 二进制映像 了解低内存报告 相关文档 文档修改记录 介绍 当iOS设备上的应用崩溃时,设备上会为其生成和保存一份崩溃报告。崩溃报告描述了应用程序在什么情况下结束运行的。在大多数情况下报告会为每个执行的线程包含一个完整的回溯(Backtrace),这对于调试应用崩溃问题时非常有用。如果你是iOS开发者,你应该查看这些崩溃报告来了解你的应用存在哪些崩溃,并且应该对这些崩溃进行修复。 崩溃报告中带有的回溯必须要先进行 符号化 (Symbolicated)才可以进行分析。符号化(Symbolication)指的是使用人能够读懂的方法名称和行号来替换回溯里面的内存地址信息。如果你通过Xcode的Devices窗口获得一台设备的崩溃日志,那么它会在几秒钟内自动地将日志进行符号化。否则你需要手动将.crash文件导入到Xcode的Devices窗口中进行符号化。可以参考符号化(Symbolication)章节来了解详细的内容 低内存报告与其它崩溃报告不同的地方在于它没有回溯信息。当一个低内存崩溃发生时,你必须检查你的内存使用图表