没有不会crash的app包括微信
没有不会crash的代码即使正常运行千年
只要有会看crash的程序猿
这一周是在不同的crash日志分析中度过的,公司的4个项目依次出现不同程序的随机崩溃。并且出现了非常多的灵异事件,即使看到了现象程序猿(!_! ME)也很难相信这是真的(想逃避)。当赤裸裸的现象一次又一次出现,直接导致手心出汗,精神失常(对于10年开发的我是致命的羞辱)。拿出斧头开始啃着“天外来客”。
考虑篇幅和阅读时长的习惯,在此略过以下内容:
- crash文件采集的具体步骤。
- crash文件中内容的含义解释。
- crash文件中崩溃种类的说明。
- dsym文件的来源和作用。
- crash中崩溃地址的手动解析的方法。
- 等等可以百度的内容。
记录下怎么图形化一步还原崩溃地址为可读代码的方法。
一、 Xcode还原法
最简单的方法是,提交app到app store的时候使用Xcode直接提交并且勾选上传dsym。如图
二、 友盟还原法
1. 查看崩溃
使用友盟统计的功能也包含crash的采集,并且crash日志会在app重启后立刻上传,时效性较好。
2. 查看dsym文件
需要上传崩溃文件对应的dsym,此时需要先查看崩溃日志对应的UUID
3. 上传dsym文件
到友盟iOS项目,选择"应用设置"后,选着左边的“符号表管理”,再点击“上传符号表文件”
4. 查看符号的崩溃调用棧
已经完美的完成解析了。如果你找到了对的dSYM文件的话,不然就SO SO SO (无能为力)
DONE
三、 SYM工具还原法
推荐dSYM的解析工具 SYM. 此方法针对从设备上获取crash文件后解析,使用非常给力。
1. 设备获取crash文件
连接设备到电脑后,打开Xcode选择Window下Devices and Simulators
2. 查找UUID
在崩溃日志中搜索“Binary Images”,会看到app的名称,旁边的就是UUID了。
3. SYM分析
打开SYM app后,(1)将崩溃日志复制到内容中。(2)选择UUID对应的dSYM文件。 (3)点击执行按钮。
查看红色的就是解析完成的,并且准确无误。GOOD。
后记
可能你没看懂,没关系请多看几遍。 如果对crash还是没了解,没关系再百度下。 也许你会推荐“DSYMTools”这个工具,我也一直用了5年,一直都很好用。只是最近分析出的内容不准确。所以建议你试试我介绍的方法。 另外再强调一点使用第三方库请慎重。
补充一句
Android在友盟上也一样可以进行崩溃地址的解析,同样上传mapping文件就可以实现。
// END 2018-11-30 每天进步一点点