iOS -- 友盟工具进行Crash分析/dsym文件

项目中集成了友盟统计,点击错误分析可以看到相关的错误列表以及简单的crash日志,但是直接收集上来的一般都是堆栈信息,对于定位bug没有太大的用处,如果想看详细的crash详情则需要使用友盟的错误分析工具:umcrashtool.

错误分析工具的使用
第一步 下载 错误分析工具.
第二步 进入友盟后台,下载xxx.csv文件.
iOS -- 友盟工具进行Crash分析/dsym文件
1.png

iOS -- 友盟工具进行Crash分析/dsym文件
2.png
第三步 将umcrashtool与已下载的xxx.csv文件放入同一目录下,文件夹名字为umcrash.
iOS -- 友盟工具进行Crash分析/dsym文件
3.png
第四步 打开终端,跳到umcrash文件夹目录下

命令行: cd 文件夹目录
执行当前命令:

命令行: ./umcrashtool 【一个空格】/Your错误列表.csv文件目录

例:./umcrashtool /Users/allison/Desktop/umcrash/founder_UMDemo_com_错误分析20180625错误列表_175206.csv

执行完后,在终端可看到如下的结果:

iOS -- 友盟工具进行Crash分析/dsym文件
4.png

下图是友盟后台收集上来的原始的崩溃信息:


iOS -- 友盟工具进行Crash分析/dsym文件
原始崩溃信息.png

通过对比下友盟直接收集上来的崩溃信息,可以发现,工具分析出来的崩溃信息更为精确,可以定位出来崩溃的类名、行数,能够帮助我们迅速定位bug.

Tips:
如果你的dsym文件不存,很大可能是因为以下两个原因:
(1). Xcode设置原因,会在下面的图示中指明 如何生成dSYM文件
XCode Release编译默认会生成dSYM文件,而Debug编译默认不会生成,对应的Xcode配置如下:

XCode -> Build Settings -> Code Generation -> Generate Debug Symbols -> Yes

XCode -> Build Settings -> Build Option -> Debug Information Format -> DWARF with dSYM File

iOS -- 友盟工具进行Crash分析/dsym文件
5.png
iOS -- 友盟工具进行Crash分析/dsym文件
6.png

这样,以后archive出来的文件就会包含dSYM文件了.

(2). 请先确保对应的 xxx.dSYM 文件在 ~/Library/Developer/Xcode/ 或该路径的子目录下。(对于每一个产品发布时archive操作会将dsym文件存放到~/Library/Developer/Xcode/Archives路径下,因此建议保留该路径下的文件,以便后续用工具分析错误。)

详情请移步:友盟官网iOS符号表使用介绍 以及错误分析