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: arm64)。CPU Type写错了会定位不到问题。

在Build Setting中查看CPU Type

键入命令:

atos -arch arm64 -o HEKAI 0x10003e5c4 HEKAI + 255428
复制代码

回车就会定位到崩溃的地方

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

可视化工具

在网上看到answer-huang开发了一个工具,专门用来快速定位崩溃日志的代码,工具特别好用,使用步骤如下:

1.将打包发布软件时的xcarchive文件拖入软件窗口内的任意位置(支持多个文件同时拖入,注意:文件名不要包含空格)。
2.选中任意一个版本的xcarchive文件,右边会列出该xcarchive文件支持的CPU类型,选中错误对应的CPU类型。
3.对比错误给出的UUID和工具界面中给出的UUID是否一致。
4.将错误地址输入工具的文本框中,点击分析。

工具使用说明:answerhuang.duapp.com/index.php/2…
工具下载链接:download.csdn.net/detail/toto…

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值