利用“崩溃轨迹”分析崩溃-阿里云开发者社区

开发者社区> 听云> 正文

利用“崩溃轨迹”分析崩溃

简介:
+关注继续查看

原文出自【听云技术博客】:http://blog.tingyun.com/web/article/detail/777

“崩溃,严重伤害用户的情感,严重损害用户体验,罪恶行径简直令人发指,特请xx狮、xx猿火速缉拿案犯归案,刻不容缓,钦此。”

虽然在“听云App”等类似优秀工具的帮助下,大多数的崩溃都能快速的、轻易的定位问题,如图:

bVycfh

上图所示,已经定位到某源文件的某行,再加上崩溃message,崩溃的原因就显而易见了。

但有些崩溃的原因就不是那么显而易见了,往往需要寻找更多蛛丝马迹来定位问题,要不然也谈不上什么“分析”了。

本文用两个例子说明“崩溃轨迹”在分析崩溃过程中的重要作用。

“崩溃轨迹”介绍

遇到难分析的崩溃时,最想得到的信息是:用户当时是怎么操作的?如何能复现崩溃?

“崩溃轨迹”也即“交互轨迹”,它记录的是崩溃前若干连续的用户操作。利用这些操作,或者能复现崩溃(这是最理想的),或者帮助缩小嫌疑范围。

下图是一个崩溃轨迹,先来认识一下:

bVycfq

好了,我们通过两个例子进一步了解“崩溃轨迹”的作用。

案例1

今年4月21日,我们的一家客户发现他们的app发生了大量的崩溃,崩溃率很高,其中一个bug导致的崩溃占了总崩溃的63%,可是从堆栈上看不出有价值的信息,如图:

bVycfs

我们帮客户分析时发现,这个堆栈没有反映出崩溃的原因,对于分析没有什么帮助。

这时我们把眼光投向“崩溃轨迹”,如图:

bVycfu

请注意,最后两个动作的时间都是“1秒前”,而且触发的函数也一样……猜到啥情况了吗?这是app的使用者快速连续操作了。基于这个推断,我们与客户一起,按照这个轨迹操作,果然,在那个界面只要快速连续点击,必崩!

能复现就好办了,直接联机调试,问题立即解决。

案例2:

这个例子是几天刚发生的,栈信息如图:

bVycfz

同样的,也是崩溃堆栈只有main函数,也是一头雾水,但崩溃轨迹提供了重要信息,请看轨迹:

bVycfA

最后一个操作发生在崩溃前0秒,这意味着崩溃就发生在那个函数里,这一下子范围小多了!虽然这个崩溃不是必现,没有按照轨迹复现出来,但因为“嫌疑”范围就在那几行,客户的开发人员很快就想到了问题所在。

通过以上两个例子介绍崩溃轨迹的重要作用,希望对大家有帮助。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
rtmplib rtmp协议过程分析
转自:http://chenzhenianqing.cn/articles/1009.html 写的很好,收藏如下,向作者致敬! 没事碰到了librtmp库,这个库是ffmpeg的依赖库,用来接收,发布RTMP协议格式的数据。
1397 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
7435 0
python数据分析(十四)-matplotlib 绘图与可视化
尽管pandas的绘图函数可以处理很多普通的绘图任务,但是要使用高级功能的话需要学习matplotlib API。
994 0
阿里本地生活EMonitor根因分析大揭秘
阿里集团针对故障处理提出了“**1/5/10**”的目标-- 1 分钟发现、5 分钟定位、10 分钟恢复,这对我们的定位能力提出了更高的要求。
1923 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
8268 0
《大数据分析原理与实践》——3.1 回归分析
本节书摘来自华章计算机《大数据分析原理与实践》一书中的第3章,第3.1节,作者 王宏志,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1714 0
《大数据分析原理与实践》——3.2 关联规则分析
本节书摘来自华章计算机《大数据分析原理与实践》一书中的第3章,第3.2节,作者 王宏志,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1440 0
CEGUI的事件系统分析
当客户向事件系统发送了一个事件之后,即是执行EventSet::fireEvent. EventSet::fireEvent首先执行了GlobalEventSet:: fireEvent,而后才执行其自身的一个方法EventSet::fireEvent_impl,该方法才是真正进行事件处理的方法,由该方法的后缀impl即可得知了.
1366 0
手机直播连麦技术分析
直播火了,连麦直播也火了,那么说明是直播,连麦直播是什么。 手机直播连麦功能的特点,我们按下面三部分来聊一聊手机直播和直播连麦: 手机直播连麦功能的特点 人物画像和设计思维 一个有趣的连麦功能交互建议 手机直播连麦功能的特点 体验了斗鱼、NOW直播、美拍直播、淘宝直播、新浪直播、映客、me直播等直播平台、发现只有映客和me直播推出了手机直播的连麦功能。 我们从以下三点来展开分析直播连麦的
6426 0
+关注
听云
每款应用都需要听云!
32
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载