美文网首页
通过crash日志快速定位代码崩溃

通过crash日志快速定位代码崩溃

作者: 梦游天际 | 来源:发表于2018-05-16 20:17 被阅读0次

最近提交一个工具应用到APPStore,一直因为crash被拒,大苹果拒绝理由非常充分:你的应用使用的过程中有闪退现象,为了更好的帮助你定位问题,附上如下崩溃日志。瞬间蒙逼,就一个简单的工具,几个界面怎么会崩溃呢,自己跟测试都测过没可能发现不了啊,点开crash日志,瞬间石化,这货长这样!

屏幕快照 2018-05-16 下午5.52.54.png

查了一通不行要领,后来知道这东西可以处理成log日志,话不多说开干。
首先桌面建一个文件夹,以次放入以下四个文件,.dSYM文件,.app文件,.crash文件,symbolicatecrash。

先来如下一波操作 屏幕快照 2018-05-16 下午7.37.03.png 屏幕快照 2018-05-16 下午7.37.34.png 屏幕快照 2018-05-16 下午7.38.10.png 屏幕快照 2018-05-16 下午7.38.26.png

.dSYM文件,.app文件搞定。

然后是.crash文件,由于苹果贴的附件是txt文件,直接把txt文件格式改成.crash就可以了,具体过程直接改文件名加上.crash,然后会有弹窗如图:

屏幕快照 2018-05-16 下午7.42.48.png

右选就OK啦。
当然.crash也可以通过xcode导出,

如下操作 屏幕快照 2018-05-16 下午7.44.38.png 屏幕快照 2018-05-16 下午7.45.21.png

选view Device Logs

屏幕快照 2018-05-16 下午7.45.56.png

最后就是symbolicatecrash文件了
首先打开终端,find /Applications/Xcode.app -name symbolicatecrash -type f 查找symbolicatecrash

屏幕快照 2018-05-16 下午7.56.06.png
选最后一个前往找到文件,放入文件夹。 屏幕快照 2018-05-16 下午7.57.18.png

中间有一点,如果要确认.dSYM文件,.app文件,.crash文件是否匹配,可以能过终端打印uuid来确认。
命令为:
dwarfdump –uuid xxx.app/xxx
dwarfdump –uuid xxx.app.dSYM/ (xxx为app name)

屏幕快照 2018-05-16 下午8.02.18.png

.carsh文件的uuid打开可以直接找到。
一切就绪,开始转换。
cd 到文件夹依次输入命令:
export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
./symbolicatecrash a523.crash ECM-iphone.app > 1.log
注意文件名称换成自己的名称就可以啦,如果没有报错,那么恭喜你成功生成log日志了。
如图:

屏幕快照 2018-05-16 下午8.08.05.png
我那会执行命令后悲催的报了一个 while reading /Users/fangliguo/Desktop/crash/xxx, No such file or directory : at ./symbolicatecrash line 909 的错,死活都不成。后来查资料发现了这么一条终端命令:./symbolicatecrash ./.crash ./.app.dSYM>symbol.crash,nice真的好使。终于可以愉快的分析log日志了。
话不多说,直接找Last Exception Backtrace: 屏幕快照 2018-05-16 下午8.11.50.png
崩溃代码方法及行数直接给你整出来了。
我这边的问题是因为阿里云推送在苹果测试那边获取到的设备id是空,没做非空验证造成的。修改提交,大功搞成。非常happy,又掌握了一项新技能。

相关文章

网友评论

      本文标题:通过crash日志快速定位代码崩溃

      本文链接:https://www.haomeiwen.com/subject/blkmdftx.html