iOS 使用xcrun atos工具解析crash

开发过程中,难免会遇到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文件名称

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容