[发明专利]一种iOS崩溃数据分类与统计的方法和装置有效

专利信息
申请号: 201710232014.X 申请日: 2017-04-11
公开(公告)号: CN108694108B 公开(公告)日: 2021-09-07
发明(设计)人: 程剑锋;吴迪;朱孝瑾;王孝满 申请(专利权)人: 北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司
主分类号: G06F11/30 分类号: G06F11/30;G06F11/07
代理公司: 中原信达知识产权代理有限责任公司 11219 代理人: 张一军;姜劲
地址: 100195 北京市海淀区杏石口路6*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 ios 崩溃 数据 分类 统计 方法 装置
【说明书】:

发明实施例提供一种iOS崩溃数据分类与统计的方法和装置。该方法包括:对崩溃数据进行自动化分类,采用对调用栈逆向查找方式,提取整个调用栈中的属于应用程序的调用语句,并输出初步分类报表;通过编写的配置文件,不断地对未被分类的崩溃数据进行迭代分类,并在每一次迭代后输出递归分类报表;以及将所述初步分类报表和所述递归分类报表进行整合,并结合上一次崩溃分析的最终报告,输出本次崩溃分析的最终报告。

技术领域

本发明涉及计算机领域,尤其涉及一种iOS(iphone Operation System)崩溃数据分类与统计的方法和装置。

背景技术

目前运行在iOS系统上的app,在崩溃发生后(俗称“应用闪退”)通常会将崩溃发生时的堆栈信息、设备信息等上报到服务器,有些是通过apple的官方崩溃收集来完成,而更多的app是选择使用友盟、腾讯Bugly等第三方崩溃收集分析商来收集数据。

但是,当收到海量的崩溃数据后(假定一条崩溃数据单独的放置在一个文本文件中),如何对这些崩溃文件进行分类,如何有效地界定哪些崩溃文件是属于同一个bug(在系统或程序中,隐藏着的一些未被发现的缺陷或问题,是引发崩溃的原因)导致的,如何对这些崩溃文件进行统计分析,以此来更好地提升app的稳定性,这些一直是业界的难题,这也是本发明需要解决的主要问题。

在上传的崩溃信息中,第三方崩溃SDK、大公司自己开发的崩溃收集SDK以及苹果自带的崩溃收集采集的内容差异很大,但都具备以下数据:崩溃发生时间、app版本和build号、系统版本、设备类型、启动时间、错误类型、崩溃线程调用栈信息等。本发明为了追求通用性,也仅将原始数据限定为以上几项内容。

目前大多现有技术只是简单的根据崩溃线程调用栈顶层的语句匹配或者是崩溃栈完全匹配作为崩溃分类的依据。并没有一套系统化的完整方案来实现精确分类。具体地:

首先,获取大量崩溃日志,每次的崩溃日志都是一个文件。

然后,使用Symbolicatecrash对所有的崩溃日志进行调用栈符号化。

接下来,对这些崩溃文件进行分类操作。

最后,直接提取调用栈栈顶的调用语句做比较,如果栈顶函数调用语句一致的,那么就归类为同类崩溃。

由于栈顶调用语句,是程序最后执行的地方,也是崩溃发生的语句,所以,直接根据栈顶语句对崩溃进行了粗浅的分类。

在实现本发明过程中,发明人发现现有技术中至少存在如下问题:

由于现有技术方案直接依据栈顶调用语句对崩溃做分类,这会导致有些情况下崩溃原因定位不准,因为崩溃不一定是由于调用栈顶层代码引起的,而是有由中间的某一句调用触发的,我们真正需要定位的是那一句引发崩溃的调用。比如说,程序中有一个abort()语句,表示在开发者要主动抛出异常,终止应用,这种语句在系统库中比较常用,在调用系统函数时,发现调用有误或者参数不对,那么系统就有可能会调用该语句,终止应用,此时,调用栈栈顶语句就是abort()。但是,这种崩溃,究其原因,是错误的调用了系统函数导致的,比如参数错误、环境配置有误等,那么应该把崩溃原因定位到调用系统函数的那一条语句上,而不是abort()这条语句,这样做的原因是,第一,系统函数是不可控的,如果发生异常,则只能通过修改自己的调用方式或者替换掉调用语句来修复崩溃;第二,很多系统函数最后都会调用abort()来终止应用,而触发它们的原因是由于调用方式有误/参数配置有误导致的,应该要找的是触发abort()的真实原因,而不是abort()这一条触发崩溃的语句。

现有方案的分类,会导致同一个崩溃下,隐藏有多个真实的崩溃原因,分类不够彻底。就如刚才所说,一个abort()终止语句,有很多种原因可以导致应用最后调用abort(),应该对导致调用abort()的原因进行分类,而不是针对这一条语句。

发明内容

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司,未经北京京东尚科信息技术有限公司;北京京东世纪贸易有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201710232014.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top