友盟bug日志分析

2019-08-23 17:58:45 浏览数 (1)

友盟bug日志分析
一、友盟工具分析

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

bug log 1.png

bug log 2.png

bug log 3.png

2、下载错误分析工具

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

代码语言:javascript复制
//进入到该文件夹内,以下是终端命令
 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 内存地址,就可以看到这处内存地址反编译回来的源码行了

代码语言:javascript复制
sanzhang$ atos -arch arm64 -o APPNAME 0x1005ae490

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

bug log 6.png

0 人点赞