根据友盟统计错误分析查找线上BUG(工具篇)

欢迎大家一起交流 QQ群 139852091

开篇:(废话篇)

今天线上的版本出现了BUG,在启动APP的时候出现闪退情况,但是这种BUG在正常测试的时候没有测试到,怎么解决呢

友盟推送是大家常见的一个第三库了,友盟统计,友盟推送,友盟分享等等

我们就根据友盟统计错误分析来查找一下bug出现在哪里

直奔主题:

登陆友盟官网找到友盟统计,找到你iOS平台下你所属的APP(图1)

图1

点击进去会出现当日错误列表,选择你发生错误的日期(图2)

图2

我们可以看到,这一天中出现了两个错误,每个错误出现在不同的时间点,最多的,最严重的达到了18次,我们点击看一下这是个什么错误:(图3-图4)

图3
图4

在图4中我们可以得知 iPhone 6 的手机,iOS8.1.1的系统发生错误,然后我们主要看图3,图3是什么呢,一堆指针,完全看不懂啊,这会,我们就要借助工具帮我们翻译一下,到底那里出现了错误。

工具:dSYM 文件分析工具 - answer_huang

里面有很详细的文档说明,但是下载链接已经失效不能使用了,我把一个能用的上传到QQ群文件里,QQ群 139852091

下载后是一个.app文件,可以直接打开使用的(图5)

图5

打开后的界面如下图:(图6)

图6

第一项需要一个DSYM文件,什么是DSYM文件呢,上面的链接说很清楚(图7)

图7

DSYM文件路径如下

/Users/<你的电脑用户名>/Library/Developer/Xcode/Archives

文件一一对应命令如下

1.查看 xx.app 文件的 UUID,terminal 中输入命令 :

dwarfdump --uuid xx.app/xx (xx代表你的项目名)

2.查看 xx.app.dSYM 文件的 UUID ,在 terminal 中输入命令:

dwarfdump --uuid xx.app.dSYM

3.crash 文件内第一行 Incident Identifier 就是该 crash 文件的 UUID。

我名没有执行文件一一对应的步骤,只要知道你出BUG的DSYM文件是那个即可

DSYM文件的UUID,Slide Address都是在友盟上可以找到的,如下图(分别对应图8<1><2>标注)

错误信息指针信息是颜色不一样的指针地址像图8<4-5>那样

图8

需要注意的是我们需要在工具中选择archive类型,对应图8中<1><2>之间的 cpu Type(需要点击刚刚拖拽的DSYM文件图9)

图9

接下来就可以点击分析了分析结果如下(图10)

图10

分析指出GD3DTouchManager.m文件的第55行代码出现问题,我的这个是3DTouch文件,因为3DTouch是iOS 9 新出现的API,报错的时iOS8.1.1,所以出现闪退显现,然后我修复一下,找到一个iOS8.1.1的机器测试发现可以了

结束语:

我的初中生物老师告诉我,人和动物最大的区别是使用工具和制造工具,感谢工具制造者,也希望本文可以帮助到你

参考与感谢

dSYM 文件分析工具 - answer_huang

如何通过友盟分析发布后App崩溃日志 - 容芳志专栏 - 博客频道 - CSDN.NET

欢迎大家一起交流 QQ群 139852091

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我还以为你不会搜我呢~ 前言 在app开发中,我坚信,总会有小伙伴会用到友盟统计的,我也是(废话)。但是在友盟的错...
    MQ_Twist阅读 8,152评论 4 5
  • 1. 错误分析Android功能说明 1.1 概述 错误分析是友盟为移动开发者提供的Crash收集和分析工具,帮助...
    零度_不结冰阅读 7,775评论 0 0
  • 应用在发布到商店后,线上的代码我们是不能直接的操作了,这点并不想web那么方便。如果应用在线上出现了bug,你如程...
    京哥阅读 6,200评论 0 2
  • 今天中午画的Q版的卡漫,我真是画得超级慢,超级慢。可怎么办。是不是自己的线条不稳,基础不牢固,现在手好像拿笔变得硬...
    小辫子ht阅读 2,435评论 7 4
  • 继续昨天第一次的话题,实际上做一个大众化的东西要简单很多,例如我们要买雪碧,普通商店卖3元,冰镇的因为费电或者偏一...
    猎庄日记阅读 3,564评论 0 0