友盟bug日志分析

友盟bug日志分析

一、友盟工具分析

1、去友盟后台,我的产品->移动统计->错误分析,找到有哪些bug日志,并把日志下载下来。

bug log 1.png
bug log 2.png
bug log 3.png

2、下载错误分析工具

3、把下载下来的工具和日志放到同一个文件夹,终端运行umcrashtool脚本就能自动分析错误日志,执行成功后在同一文件夹内会生成分析日志,并定位到代码处。xxx-symbol.csv文件就是分析结果。

//进入到该文件夹内,以下是终端命令
 sanzhang$ ./umcrashtool [absolutely_path_of_csv_file]
bug log 4.png
bug log 5.png

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

4、打包release发版的时候一定要生成dsYM文件,设置如下

bug log 7.png
二、终端命令行手动分析

1、首先还是找到友盟后台错误日志,主要分析标记出颜色的地址

bug log 2.png

2、查找dSYM文件步骤:

Xcode --> Windows --> Organizer ,接着找到最新发布的xcarchive文件。

3、右击该xcarchive文件,打开方式选择终端打开,接着终端一层一层进文件。

dSYMs --> XXX.app.dSYM --> Contents --> Resources --> DWARF

4、进到DWARF后就可以开始反编译,从而找到二进制对应的源码位置

执行代码:atos -arch arm64 -o APPNAME 内存地址,就可以看到这处内存地址反编译回来的源码行了

sanzhang$ atos -arch arm64 -o APPNAME 0x1005ae490

5、一行行分析完后就会有一个整体的函数调用栈,和平常打断点一样

bug log 6.png

你可能感兴趣的:(友盟bug日志分析)