客户端崩溃定位方法和设备的制造方法

文档序号:8223397阅读:183来源:国知局
客户端崩溃定位方法和设备的制造方法
【技术领域】
[0001]本申请涉及计算机技术,特别涉及客户端崩溃定位方法和设备。
【背景技术】
[0002]在网络应用开发过程中,客户端经常会频繁更新,以便推出更多新鲜有趣的应用来满足用户需求。
[0003]而频繁更新客户端,难免会出现各种漏洞(bug),在众多bug之中,客户端崩溃bug严重影响了网络应用的正常运行。
[0004]由于客户端环境的多样性,导致客户端崩溃的原因有多种,常用的方法都是依次手工分析客户端在崩溃时上传至内存的内存转储文件文件,这种方法效率低下且很难定位客户端崩溃的原因。

【发明内容】

[0005]本申请提供了客户端崩溃定位方法和设备,以提高崩溃原因的定位效率。
[0006]本申请提供的技术方案包括:
[0007]一种客户端崩溃定位方法,包括:
[0008]对一段时间内收集的客户端崩溃时的内存转储文件重命名,以供控制台识别重命名后的内存转储文件;
[0009]控制台对重命名后的每一内存转储文件进行崩溃原因分析,得到每一内存转储文件对应的分析结果;
[0010]对内存转储文件对应的分析结果进行分类,并确定每一类对应的崩溃次数;
[0011]定位出对应的崩溃次数最多的类。
[0012]一种客户端崩溃定位设备,该设备包括:
[0013]重命名单元,用于对一段时间内收集的客户端崩溃时的内存转储文件重命名,以供控制台识别重命名后的内存转储文件;
[0014]接收单元,用于接收控制台对重命名后的每一内存转储文件进行崩溃原因分析得到的每一内存转储文件对应的分析结果;
[0015]分类单元,用于对内存转储文件对应的分析结果进行分类;
[0016]确定单元,用于确定每一类对应的崩溃次数;
[0017]定位单元,用于定位出对应的崩溃次数最多的类。
[0018]由以上技术方案可以看出,本发明通过定位出对应的崩溃次数最多的类,并针对该类分析崩溃原因,能够保证最严重的bug优先解决,提高崩溃原因的定位效率,避免现有通过手工方式平等处理bug所带来的诸多问题。
【附图说明】
[0019]图1为本发明提供的方法流程图;
[0020]图2为本发明提供的设备结构示意图。
【具体实施方式】
[0021]为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
[0022]本发明提供了如图1所示的方法流程。
[0023]参见图1,图1为本发明提供的方法流程图。如图1所示,该流程可包括:
[0024]步骤101,对一段时间内收集的客户端崩溃时的内存转储文件重命名,以供控制台识别重命名后的内存转储文件。
[0025]在一段时间比如一周、一天等时间内客户端可能会崩溃多次,每次崩溃时客户端都会将内存转储文件(实质为内存快照)上传给服务器。
[0026]基于此,本步骤101可从服务器收集一段时间内的客户端崩溃时的内存转储文件,并对该收集的内存转储文件进行重命名,以供控制台识别重命名后的内存转储文件。
[0027]在客户端在崩溃时的内存转储文件的扩展名是.Ul。而针对控制台而言,其分析扩展名是.dmp的内存转储文件,基于此,本步骤101中,就对一段时间内收集的客户端崩溃时的内存转储文件的扩展名从.ul重命名为.dmp。
[0028]在本发明中,对一段时间内客户端在崩溃时上传的内存转储文件重命名是基于预先编译的脚本语言比如python语言实现。
[0029]步骤102,控制台对重命名后的每一内存转储文件进行崩溃原因分析,得到每一内存转储文件对应的分析结果。
[0030]本发明中,控制台可按照控制台调试桥(如windows下的⑶B进程)的分析命令(! analyze-v)对重命名后的各个内存转储文件进行崩溃原因分析。
[0031]本发明中,每一内存转储文件对应的分析结果中至少包括回溯调用栈(stack)。
[0032]步骤103,对内存转储文件对应的分析结果进行分类,并确定每一类对应的崩溃次数。
[0033]本发明中,对内存转储文件对应的分析结果进行分类可包括:
[0034]识别每一内存转储文件对应的分析结果所包含的stack,将具有相同回溯调用栈的分析结果确定为同一类。
[0035]比如,有三个内存存储文件,其对应的分析结果分别为:分析结果1、分析结果2、分析结果3,其中,分析结果1、分析结果3包含stackl,分析结果2包含stack2,则认为分析结果1、分析结果2属于同一类(记为类I),分析结果2属于一类(记为类2)。
[0036]还有,本发明中,确定每一类对应的崩溃次数可包括:
[0037]针对每一类,确定该类所包含的分析结果的个数,将确定的个数作为该类对应的崩溃次数。
[0038]如上例,分析结果1、分析结果2属于类1,分析结果2属于类2,则就确定类I对应的崩溃次数为2,类2对应的崩溃次数为I。
[0039]需要说明的是,本发明中,步骤103是基于预先编译的脚本语言比如python语言实现的。
[0040]步骤104,定位出对应的崩溃次数最多的类。
[0041]在本发明中,可按照顺序对各个类对应的崩溃次数进行排序,选取崩溃次数最多的类。通常,类对应的崩溃次数越多,表示该类对应的崩溃原因越严重,需要快速解决。通过先定位出对应的崩溃次数最多的类,针对该类分析崩溃原因,能够保证最严重的bug优先解决,提高崩溃原因的定位效率,避免现有通过手工方式平等处理bug所带来的诸多问题。
[0042]至此,完成图1所示的流程。
[0043]在图1所示流程中,作为本发明的一个实施例,本发明中,控制台还可通过CDB进程的时间(time)命令对重命名后的每一内存转储文件分析出崩溃时间,将该崩溃时间与该内存转储文件对应的分析结果相关联。
[0044]基于此,本发明中,还可进一步执行以下操作:
[0045]针对每一类,识别该类所包含的分析结果关联的崩溃时间,通过图表的形式将识别出的崩溃时间、以及该类对应的崩溃次数进行展示,这样能够使分析结果一目了然。基于该图表,可优先定位崩溃次数多、且崩溃时间多的类,分析该类对应的崩溃原因,这能够保证最严重的bug优先解决,提高崩溃原因的定位效率,避免现有通过手工方式平等处理bug所
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1