友盟bug追踪

来源:互联网 发布:香港4g网络制式 编辑:程序博客网 时间:2024/05/21 07:03

我们在做项目的时候尝尝会用一些第三方去统计一些bug,一般用的就是友盟了,大家都知道iOS不像安卓那样直接就可以定位到问题代码行,友盟提供给我们的只有内存地址,那我们怎么才能通过这个内存地址定位到问题代码行呢?(ps:想想就觉得操蛋,为毛不能直接指出问题的代码行,要给我们内存地址呢?)



1,先找到我们上传版本的DYSM,上传的DYSM在那呢?

Xcode->Organizer->找到你对应的build号的版本(右键)--> Show in Finder


打开包内容 找到dSYMs目录下的xxx.app.dSYM文件,继续打开包内容,找到Contents目录下的Resources目录下的DWARF目录


2,把我们找到的DWARF目录 拉入Terminal(命令行)
在命令行中输入以下内容:

cd /Users/caiwenshu/Library/Developer/Xcode/Archives/2015-07-07/tranb 7-7-15, 11.57.xcarchive/dSYMs/tranb.app.dSYM/Contents/Resources/DWARF

跳到xxx.app.dSYM下的Contents目录下的Resources目录下的DWARF目录

3,执行以下命令:

atos -arch arm64 -o 项目名称 0x1009ac0e8 项目名称 + 10141928
atos -arch arm64 -o 项目名称 0x100720918 项目名称 + 7473432

其中两个内存地址是友盟相面标注出来崩溃的内存地址,从而就可以定位到出现问题的代码是哪几行了


需要注意的是arm64是要看CPU Type,项目设置为什么就写什么,如果写错了是找不到问题代码的,当然友盟的错误信息也会有这个信息的,在错误信息的最下方

CPU Type: armv7

0 0