一种分析应用崩溃的方法和装置制造方法及图纸

技术编号:23342978 阅读:13 留言:0更新日期:2020-02-15 03:45
本发明专利技术公开了一种分析应用崩溃的方法和装置,涉及计算机技术领域。该方法的一个具体实施方式包括:获取应用的崩溃数据,所述崩溃数据包括引起崩溃的标识;根据所述崩溃数据确定所述应用的源代码中的报错代码;查询所述报错代码的提交记录;根据所述提交记录发送修复任务。该实施方式能够利用应用的崩溃数据追溯提交记录,发送对应修复任务,创建崩溃数据管理策略,将人力分析的过程自动化,提高分析应用崩溃的效率。

A method and device for analyzing application crash

【技术实现步骤摘要】
一种分析应用崩溃的方法和装置
本专利技术涉及计算机
,尤其涉及一种分析应用崩溃的方法、装置、电子设备和计算机可读介质。
技术介绍
应用崩溃(Crash)是指应用程序、软件等在运行期间由于代码编写错误等原因导致的一种异常状态,一般发生崩溃后程序会被系统关闭并有相应的代码行堆栈信息回调给应用程序供开发者分析解决问题。目前分析应用崩溃的方式主要是开发人员手动查看堆栈,定位问题,找到对应的代码提交人。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:随着应用更新升级的频率加快,人力分析的效率低,缺乏对于崩溃数的管理策略。
技术实现思路
有鉴于此,本专利技术实施例提供一种分析应用崩溃的方法和装置,能够利用应用的崩溃数据追溯提交记录,发送对应修复任务,创建崩溃数据管理策略,将人力分析的过程自动化,提高分析应用崩溃的效率。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种分析应用崩溃的方法,包括:获取应用的崩溃数据,所述崩溃数据包括引起崩溃的标识;根据所述崩溃数据确定所述应用的源代码中的报错代码;查询所述报错代码的提交记录;根据所述提交记录发送修复任务。可选地,根据所述崩溃数据确定所述应用的源代码中的报错代码包括:根据映射文件将所述崩溃数据中引起崩溃的标识转换为所述源代码中的标识,根据所述源代码中的标识确定所述源代码中的报错代码。可选地,所述方法还包括:将所述崩溃数据和所述源代码中的报错代码存储至报错数据库。可选地,所述方法还包括:根据所述崩溃数据、所述报错代码、所述报错代码的提交记录生成分析报告。可选地,查询所述报错代码的提交记录包括:查询所述报错代码的至少两次的提交记录,比较所述至少两次的提交记录的差异,将所述差异包括至所述分析报告。可选地,所述方法还包括:根据所述崩溃数据的类型、所述崩溃数据中引起崩溃的标识、所述源代码中的标识、所述源代码中的报错代码中的一个或多个生成所述应用的报错标识。为实现上述目的,根据本专利技术实施例的另一个方面,提供了一种分析应用崩溃的装置,包括:获取模块,用于获取应用的崩溃数据,所述崩溃数据包括引起崩溃的标识;定位模块,用于根据所述崩溃数据确定所述应用的源代码中的报错代码;追溯模块,用于查询所述报错代码的提交记录;任务模块,用于根据所述提交记录发送修复任务。可选地,所述定位模块还用于根据映射文件将所述崩溃数据中引起崩溃的标识转换为所述源代码中的标识,根据所述源代码中的标识确定所述源代码中的报错代码。可选地,所述装置还包括:存储模块,用于将所述崩溃数据和所述源代码中的报错代码存储至报错数据库。可选地,所述装置还包括:报告模块,用于根据所述崩溃数据、所述报错代码、所述报错代码的提交记录生成分析报告。可选地,所述追溯模块还用于查询所述报错代码的至少两次的提交记录,比较所述至少两次的提交记录的差异,将所述差异包括至所述分析报告。可选地,所述装置还包括:标识模块,用于根据所述崩溃数据的类型、所述崩溃数据中引起崩溃的标识、所述源代码中的标识、所述源代码中的报错代码中的一个或多个生成所述应用的报错标识。为实现上述目的,根据本专利技术实施例的再一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现一种分析应用崩溃的方法中任一所述的方法。为实现上述目的,根据本专利技术实施例的再一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被一个或多个处理器执行时实现一种分析应用崩溃的方法中任一所述的方法。上述专利技术中的一个实施例具有如下优点或有益效果:因为采用对崩溃数据的分析,定位源代码中的报错代码,根据报错代码查询提交记录,实现报错代码的追溯手段,所以克服了传统技术人工追溯代码效率低的技术问题,进而达到提高报错代码的修复效率技术效果。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的一种分析应用崩溃的方法的主要步骤的示意图;图2是根据本专利技术实施例的一种分析应用崩溃的装置的主要部分的示意图;图3是根据本专利技术实施例的一种优选实施方式的示意图;图4是本专利技术实施例可以应用于其中的示例性系统架构图;图5是适于用来实现本专利技术实施例的终端设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修复,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。图1是根据本专利技术实施例的一种分析应用崩溃的方法的主要步骤的示意图,如图1所示:步骤S101表示获取应用的崩溃数据,所述崩溃数据包括引起崩溃的标识。应用程序在发生崩溃时,运行系统会收集相关的崩溃数据自动上传(有时需要征得用于同意)崩溃数据至服务器和/或在本地保存崩溃数据,可通过http请求的方式获取这些崩溃数据,作为分析应用崩溃的数据源。其中,引起崩溃的标识是崩溃数据代码中的类名、方法名等,这些引起崩溃的标识可能是经过代码混淆后的。步骤S102表示根据所述崩溃数据确定所述应用的源代码中的报错代码。此步骤的目的是还原崩溃数据在应用的源代码中的代码,由于这部分代码引起了应用崩溃,所以被称为报错代码。根据所述崩溃数据确定所述应用的源代码中的报错代码包括:根据映射文件将所述崩溃数据中引起崩溃的标识转换为所述源代码中的标识,根据所述源代码中的标识确定所述源代码中的报错代码。此步骤的目的是通过解混淆来确定源代码中引起崩溃的代码的标识。如果应用在编译发布包时使用了混淆工具,那么就会具有记录混淆对应关系的映射文件(例如基于安卓系统的应用中的mapping文件),混淆对应关系是指源代码与混淆后代码中的一些类名、方法名(即标识)等的特有的对应规则,如将方法名为onJump的方法混淆为mf,如果崩溃数据中引起崩溃的标识为mf,则根据映射文件进行解混淆,就可得到源代码中的标识onJump。根据源代码中的标识(类名、方法名等)就可以进一步确定源代码中的报错代码所在的部分。进一步地,在进行解混淆后,可以对源代码进行过滤,滤除系统类的代码,以便进一步缩小定位报错代码的范围。根据所述崩溃数据的类型、所述崩溃数据中引起崩溃的标识、所述源代码中的标识、所述源代码中的报错代码中的一个或多个生成所述应用的报错标识。其中崩溃数据的类型一般被系统记录在崩溃数据中,用于指示该崩溃的类别,如数据溢出等。报错标识用于对崩溃数据进行标记和识别,以便能够快速定位和归类崩溃数据。可使用预设值的规则(如哈希映射等)通过计算来确定报错标识。本文档来自技高网...

【技术保护点】
1.一种分析应用崩溃的方法,其特征在于,包括:/n获取应用的崩溃数据,所述崩溃数据包括引起崩溃的标识;/n根据所述崩溃数据确定所述应用的源代码中的报错代码;/n查询所述报错代码的提交记录;/n根据所述提交记录发送修复任务。/n

【技术特征摘要】
1.一种分析应用崩溃的方法,其特征在于,包括:
获取应用的崩溃数据,所述崩溃数据包括引起崩溃的标识;
根据所述崩溃数据确定所述应用的源代码中的报错代码;
查询所述报错代码的提交记录;
根据所述提交记录发送修复任务。


2.根据权利要求1所述的方法,其特征在于,根据所述崩溃数据确定所述应用的源代码中的报错代码包括:
根据映射文件将所述崩溃数据中引起崩溃的标识转换为所述源代码中的标识,根据所述源代码中的标识确定所述源代码中的报错代码。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述崩溃数据和所述源代码中的报错代码存储至报错数据库。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述崩溃数据、所述报错代码、所述报错代码的提交记录生成分析报告。


5.根据权利要求4所述的方法,其特征在于,查询所述报错代码的提交记录包括:
查询所述报错代码的至少两次的提交记录,比较所述至少两次的提交记录的差异,将所述差异包括至所述分析报告。


6.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述崩溃数据的类型、所述崩溃数据中引起崩溃的标识、所述源代码中的标识、所述源代码中的报错代码中的一个或多个生成所述应用的报错标识。


7.一种分析应用崩溃的装置,其特征在于,包括:
获取模块,用于获取应用的崩溃数据,所述崩溃数据包括引起崩溃的标识;
定位模块,用于根据所述崩溃数据确定所述应用的源代码中的报错代码;
追溯模块...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1