您的当前位置:首页正文

iOS崩溃日志,友盟崩溃日志,奔溃定位

来源:华拓网

项目使用友盟统计bug,崩溃发生时友盟提供了发生崩溃的内存地址,接下来我们通过内存地址定位问题代码。

1. 找到上传版本的dSYM

dSYM的位置:
Xcode->Organizer->找到发生崩溃的版本(右键)--> Show in Finder,右击Finder中的.xcarchive文件点显示包内容,找到dSYMs目录下的xxx.app.dSYM文件,继续显示包内容,找到Contents目录下的Resources目录下的DWARF目录。

2. 将终端定位到DWARF目录

在命令行输入:cd DWARF目录路径

cd /Users/circusjonathan/Library/Developer/Xcode/Archives/2017-04-27/HEKAI\ 2017-4-27\ 20.51.xcarchive/dSYMs/HEKAI.app.dSYM/Contents/Resources/DWARF 
3. 定位问题

通常我们会在友盟的问题统计页面看到类似这样的错误信息

友盟崩溃信息 图中蓝色的字体,前面是项目名(HEKAI)的错误就是崩溃的内存地址
在终端执行以下命令:
atos -arch [项目设置的CPU Type] -o [项目名] [错误发生的内存地址] [项目名] + 255428
CPU Type可以在Build Setting中查看,友盟的错误信息里面有这个信息,如上图的左下角。CPU Type写错了会定位不到问题。
在Build Setting中查看CPU Type 键入命令:
atos -arch arm64 -o HEKAI 0x10003e5c4 HEKAI + 255428
回车就会定位到崩溃的地方 定位崩溃在项目中发生的位置

上图可以看出,问题定位到了HKScanQRViewController.m文件的177行,发生问题的方法是nextStepEvent:,到此问题就定位好了,然后根据具体情况消除问题。

可视化工具
通过可视化工具定位崩溃位置 工具使用说明:。
工具下载链接: