Crash 日志分析详解
本文主要分析已经上线的APP(在APP store ),在xcode 7以后 苹果对crash 日志收集有了很大的改善,可以不需要通过第三方sdk 就可以直接分析 crash 日志了,当然第三方库还是更强大的,比如友盟,以及腾讯 bugly.话不多说,直接上代码界面进行分析.
1.第一步
2.第二步
3.第三步
在文件下会有一个 xx日期.xcarchive (后缀名)文件. 右击点击显示包内容
(1)在红色1那里面会有一个 dSYMs文件,然后复制里面的 .app.dSYM文件到桌面.
(2)在红色2 文件下会有llproduct(你的文件名字) .复制该包, 把该包后缀更改为.app.
4.第四步
点击 Crashes ,如果你的界面有这样的表示你线上的App有奔溃,相反就恭喜你这个App目前还没有bug.
5.第五步
如上图所示, 需要点击 show in finder , 然后会跳转到一个文件后缀名为xx.xccrashpoint 的文件.然后右击点击显示包内容.会有一个.crash 文件,复制到桌面上
6.第六步
在 前往 文件夹查找路径为 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
把symbolicatecrash 检查工具也复制到桌面.
7.第七步
把上面复制的四个文件 放在一个桌面文件夹之中.文件名字 叫 crash .里面放着刚刚获取到的文件.
8.打开终端.
cd 直接拖拽桌面的crash 文件.然后输入
symbolicatecrash路径 XX.crash(苹果公司给的crash日志文件路径) XX.app.dSYM(崩溃app对应的dSYM文件路径) > 输出文件路径
./symbolicatecrash ./(你文件的名字).crash ./(你文件的名字).app.dSYM > symbol.crash
如果在执行命令的过程中会出现错误信息:“Error: “DEVELOPER_DIR” is not defined at /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash line 69.”
解决方案:
在终端执行export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
执行完成后,再执行 .最终就出现下面的情况,打开桌面的crash.
8.第八步
重新打开的crash 文件下会有symbol.crash 文件,这个时候就可以清晰的分析了.
第九步、分析结果
双击这个文件 可以看到哪个线程崩溃的,哪个类崩溃的,以及行数,就可以找到那个工程去改代码了
注意:release和debug会不同,查找这样的问题使用release。