开发过程中,难免会遇到Bug。
遇到Bug,怎么办?
如果在测试阶段,我们还可以直接Debug;
如果APP已经上架呢?
还好,苹果有日志,而且真机的日志文件能够上传的App Store,供开发者下载。也可以将闪退日志上传到第三方平台,比如腾讯Bugly。
但是呢!
1、从App Store下载下来的crash文件都是二进制内存地址,这个很不方便阅读。
2、腾讯Bugly有时候也需要上传dSYM文件才能符号化,有时候符号化还会出现异常。
所以另外一个方法
找到闪退地址,通过xcrun atos明亮直接本地查看闪退位置,是一个比较方便可行的办法。
准备工作
1、crash文件或腾讯Bugly上报的闪退日志
2、dSYM文件
3、确保闪退日志和dSYM文件UUID是配对的。
通过命令查看UUID
```
xcrun dwarfdump --uuid <dSYM文件>
```
通过符号表文件查看UUID
符号表文件的UUID与dSYM文件的UUID是一致的,因此可以通过符号表工具生成的符号表文件来查看dSYM文件的UUID:
生成符号表文件(.zip) ---> 解压符号表文件(.symbol) ---> 使用文本编辑器打开符号表文件
其中符号表文件的“UUID”信息即Debug SO文件的UUID,亦是符号表文件的UUID,如果文件较大,建议使用“Sublime Text”等文本编辑器来打开符号表文件。
开始查找
1、在crash文件中,找到闪退位置的地址及模块地址
闪退信息2、运行atos工具
xcrun atos -o xxx.app.dSYM/Contents/Resources/DWARF/xxx -l 模块地址 闪退地址
xxx代码dSYM文件名称
网友评论