日常线上发生崩溃时,如果崩溃设备我们可以拿到的话,可以将设备里的崩溃日志进行导出,然后对崩溃日志进行符号化,从而定位崩溃问题,增加解决线上崩溃的方法
如何获得设备上的崩溃日志
通用-> 隐私 -> 分析与改进 -> 分析数据
然后找到对应设备的崩溃日志,导出来就可以了。文件格式为ips。
如何使用symbolicatecrash符号化崩溃日志
- 取到app的dSYM文件
- 找到symbolicatecrash
在终端输入指令:
find /Applications/Xcode.app -name symbolicatecrash -type f
得到结果:
/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
- 将symbolicatecrash文件与dSYM还有崩溃日志放入一个文件中
- 执行symbolicatecrash解析文件
./symbolicatecrash xxx.ips xxx.app.dSYM > xxx.crash
通过上面步骤我们就可以得到符号化的崩溃日志,然后找到具体崩溃线程,定位崩溃代码!!!
注:
执行上面指令可能会出现报错
Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
执行下面的指令就可以解决
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
生活如此美好,今天就点到为止。。。










网友评论