Testin崩溃分析面包屑功能扫平Crash问题

移动开发
面包屑(Breadcrumb)这个概念来自童话故事"汉赛尔和格莱特",当汉赛尔和格莱特穿过森林时,不小心迷路了,但是他们发现在沿途走过的地方都撒下了面包屑,让这些面包屑来帮助他们找到回家的路。所以,面包屑的作用是帮助开发者了解用户的行为路径,定位用户何时、为何发生崩溃。

面包屑(Breadcrumb)这个概念来自童话故事"汉赛尔和格莱特",当汉赛尔和格莱特穿过森林时,不小心迷路了,但是他们发现在沿途走过的地方都撒下了面包屑,让这些面包屑来帮助他们找到回家的路。所以,面包屑的作用是帮助开发者了解用户的行为路径,定位用户何时、为何发生崩溃。

在Testin崩溃分析服务中面包屑到底是什么?

新增面包屑功能,面包屑与日志信息类似,是开发人员自己定义的内容。通过插入面包屑来记录应用程序运行时的信息,如变量值,应用程序状态,代码进展,用户操作,程序性能,以及回调(如低存储器警告)等事件。本次Testin崩溃分析面包屑功能的SDK版本号为1.7.3(Android & iOS).

举个简单的例子,Android手机九宫格解锁功能相信大家一定再熟悉不过,常见的解锁手势有Z型、M型、W型,但有些用户为了防止密码过于简单,设置了很多千奇百怪的解锁图案,而经常又会忘记正确的操作步骤。同理也体现在我们日常开发App的过程中,通过崩溃分析SDK可以具体定位到哪行代码出现问题,但有些崩溃和异常出现的原因往往会经过复杂的方法调用关系,导致开发者面对Bug而无法修复。通过面包屑,开发者能够缩小定位问题的范围,从而更快地定位、解决问题。

当面包屑洒在森林中后

当面包屑洒在森林中后又会如何呢?某家大型手游企业在使用面包屑解决段违例崩溃问题时,总结出了以下几个关健的切入点:

函数调用栈:通过调用栈能分析绝大多数简单段违例崩溃的来龙去脉,运气好的话,看栈顶两三层就可以找到问题并加以修复,诸如空指针相关的绝对结果错误在完整的调用栈面前几乎无法藏身。

违例地址:利用违例地址并结合调用上下文,可以很简单的推断出来是空指针错误还是野指针错误。

应用临终操作:一般来说,对于野指针错误,函数调用栈和违例地址信息是基本没有参考价值的,它们只会告诉我们程序在哪里访问了哪个不该访问的地址,但是对于程序为什么要去访问,又怎么去访问就爱莫能助了。对于野指针段违例错误,我们需要知道最终用户是如何一步步靠近崩溃点的,一般来说本地调试可以使用trace log。

其他:机型,应用版本,内存,用户反馈等作为参考。

对于线上的崩溃,我们使用了testin崩溃分析,新版本(1.7.4)提供了一个非常给力的新功能:面包屑,这个功能可以用来收集100条自定义临终信息,可以很好的针对三号切入点

Testin崩溃分析中的面包屑到底能做什么?

添加面包屑,开发人员只需插入一个API调用(TestinAgent实例化后)。抓取的面包屑可以帮助开发人员:

1. 识别和分析会话事件、状态或参数来进行调试。

2. 利用这些信息,以及堆栈信息、诊断和用户搜索,确定问题根源。

3. 补充IDE调试,使他们能够捕获有关应用程序行为的有用信息,以便获得更多的用户。

4. 对于每个面包屑会话,SDK中自动存储的start痕迹标记用户会话的开始,每个面包屑会话最多有100条面包屑。

Testin崩溃分析的“面包屑”可帮助开发者分析Crash原因:用户做了什么操作、函数中变量是什么?不让任何一个Crash(崩溃)横行。

责任编辑:老门
相关推荐

2011-06-30 15:16:10

面包屑导航

2015-03-20 14:51:09

Testin云测

2024-08-15 08:56:18

2014-07-29 15:44:33

Linux内核Crash

2012-10-29 11:25:05

IBMdw

2021-12-30 10:43:21

Android函数Crash

2014-03-26 11:40:49

金山毒霸系统崩溃

2021-03-05 07:14:08

Linuxcrashvmcore

2021-12-05 21:06:27

软件

2022-09-05 08:03:28

MySQL崩溃恢复

2022-06-23 06:34:56

Node.js子线程

2016-08-25 10:30:34

测试Testin

2015-01-30 15:35:24

云测触控科技

2015-06-17 09:52:00

2009-07-08 13:22:48

JVM termina

2009-11-25 09:26:44

Windows 7媒体中心崩溃

2022-08-05 11:55:13

FlutteriOS

2015-01-30 17:15:31

Testin云测触控北美开发者

2014-03-03 14:47:48

2010-08-13 10:52:12

思科路由器崩溃
点赞
收藏

51CTO技术栈公众号