一种软件崩溃数据的分析方法、装置、设备及介质制造方法及图纸

技术编号:39416792 阅读:10 留言:0更新日期:2023-11-19 16:07
本发明专利技术公开了一种软件崩溃数据的分析方法、装置、设备及介质。该方法包括:当操作系统的软件进程崩溃时,获取操作系统内核实时上传的当前核心映像;根据当前核心映像以及数据分析平台的当前运行状态信息,确定是否对软件进程进行崩溃数据分析;若确定对软件进程进行崩溃数据分析,则解析当前核心映像,获取软件进程中各线程的调用栈信息;解析软件进程中各线程的调用栈信息,获取软件崩溃解析数据并发送至崩溃分析平台。采用上述技术方案,能够实现自动的核心转储与崩溃分析,有效提高软件崩溃原因的分析效率,并能够生成丰富的分析数据,以供用户对软件崩溃原因进行分析。以供用户对软件崩溃原因进行分析。以供用户对软件崩溃原因进行分析。

【技术实现步骤摘要】
一种软件崩溃数据的分析方法、装置、设备及介质


[0001]本专利技术涉及计算机
,尤其涉及一种软件崩溃数据的分析方法、装置、设备及介质。

技术介绍

[0002]当计算机软件崩溃时,记录软件崩溃的相关信息,能够便于技术人员定位并解决崩溃问题。
[0003]现有技术提供的软件崩溃数据的分析方法,一般仅能提供有限的崩溃信息,例如崩溃堆栈跟踪,但难以有效地获取所有涉及崩溃的可执行代码映像,导致分析结果不完整,进而可能导致生成的分析报告内容不完整,使得技术人员难以准确的分析软件崩溃原因。

技术实现思路

[0004]本专利技术提供了一种软件崩溃数据的分析方法、装置、设备及介质,能够实现自动的核心转储与崩溃分析,有效提高软件崩溃原因的分析效率,并能够生成丰富的分析数据,以供用户对软件崩溃原因进行分析。
[0005]根据本专利技术的一方面,提供了一种软件崩溃数据的分析方法,包括:
[0006]当操作系统的软件进程崩溃时,获取操作系统内核实时上传的当前核心映像;
[0007]根据当前核心映像以及数据分析平台的当前运行状态信息,确定是否对软件进程进行崩溃数据分析;
[0008]若确定对软件进程进行崩溃数据分析,则解析当前核心映像,获取软件进程中各线程的调用栈信息;
[0009]解析软件进程中各线程的调用栈信息,获取软件崩溃解析数据并发送至崩溃分析平台。
[0010]根据本专利技术的另一方面,提供了一种软件崩溃数据的分析装置,包括:
[0011]当前核心映像获取模块,用于当操作系统的软件进程崩溃时,获取操作系统内核实时上传的当前核心映像;
[0012]崩溃数据分析判断模块,用于根据当前核心映像以及数据分析平台的当前运行状态信息,确定是否对软件进程进行崩溃数据分析;
[0013]调用栈信息获取模块,用于若确定对软件进程进行崩溃数据分析,则解析当前核心映像,获取软件进程中各线程的调用栈信息;
[0014]调用栈信息解析模块,用于解析软件进程中各线程的调用栈信息,获取软件崩溃解析数据并发送至崩溃分析平台。
[0015]根据本专利技术的另一方面,提供了一种电子设备,所述电子设备包括:
[0016]至少一个处理器;以及
[0017]与所述至少一个处理器通信连接的存储器;其中,
[0018]所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序
被所述至少一个处理器执行,以使所述至少一个处理器能够执行本专利技术任一实施例所述的软件崩溃数据的分析方法。
[0019]根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本专利技术任一实施例所述的软件崩溃数据的分析方法。
[0020]本专利技术实施例的技术方案,通过获取软件进程崩溃时内核上传的当前核心映像,当根据当前核心映像以及数据分析平台的当前运行状态信息,确定需要对软件进程的崩溃原因进行分析时,解析当前核心映像,获取软件进程中各线程的调用栈信息,并生成软件崩溃解析数据发送至崩溃分析平台的方法,能够实现自动的进程核心转储及分析,极大地简化了技术人员对进程崩溃原因的分析过程,减少分析时间,并且,分析结果数据丰富,能有效的提高分析的准确度。
[0021]应当理解,本部分所描述的内容并非旨在标识本专利技术的实施例的关键或重要特征,也不用于限制本专利技术的范围。本专利技术的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0022]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0023]图1是根据本专利技术实施例一提供的一种软件崩溃数据的分析方法的流程图;
[0024]图2是根据本专利技术实施例二提供的另一种软件崩溃数据的分析方法的流程图;
[0025]图3是根据本专利技术实施例三提供的一种软件崩溃数据的分析装置的结构示意图;
[0026]图4是实现本专利技术实施例的软件崩溃数据的分析方法的电子设备的结构示意图。
具体实施方式
[0027]为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分的实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本专利技术保护的范围。
[0028]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本专利技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0029]实施例一
[0030]图1为本专利技术实施例一提供的一种软件崩溃数据的分析方法的流程图,本实施例
可适用于通过解析核心映像获取崩溃软件进程中各线程的调用栈信息,以便获取软件崩溃解析数据供技术人员分析软件崩溃原因的情况,该方法可以由软件崩溃数据的分析装置来执行,该软件崩溃数据的分析装置可以采用硬件和/或软件的形式实现,并一般可配置于具备数据处理功能的计算机或处理器中。如图1所示,该方法包括:
[0031]S110、当操作系统的软件进程崩溃时,获取操作系统内核实时上传的当前核心映像。
[0032]可以理解的是,操作系统指计算机操作系统,如Linux系统等,一个操作系统中可能通知执行多个软件进程,每个软件进程中还可能包括多个线程。
[0033]可选的,核心映像可以指软件进程崩溃时刻进程执行的内存内容,可以包括软件进程的代码、堆栈或寄存器状态等信息。当前核心映像可以指当前分析的崩溃软件进程的核心映像。
[0034]可选的,可以通过修改内核配置文件路径,使得在软件进程崩溃时,内核能够将核心映像储存至指定文件中。
[0035]在一个可选的例子中,对于Linux系统来说,可以通过配置/proc/sys/kernel/core_pattern以上内核配置文件路径,从而实现在软件进程崩溃时,自动修改内核配置文件路径中的指定占位符,启动数据分析平台,并在检测到数据分析平台启动后,将核心映像发送至数据分析平台的指定文件中以供存储与解析。
[0036]S120、根据当前核心映像以及数据分析平台的当前运行状态信息,确定是否对软件进程进行崩溃数据分析。
[0037]可本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件崩溃数据的分析方法,其特征在于,包括:当操作系统的软件进程崩溃时,获取操作系统内核实时上传的当前核心映像;根据当前核心映像以及数据分析平台的当前运行状态信息,确定是否对软件进程进行崩溃数据分析;若确定对软件进程进行崩溃数据分析,则解析当前核心映像,获取软件进程中各线程的调用栈信息;解析软件进程中各线程的调用栈信息,获取软件崩溃解析数据并发送至崩溃分析平台。2.根据权利要求1所述的方法,其特征在于,根据当前核心映像以及数据分析平台的当前运行状态信息,确定是否对软件进程进行崩溃数据分析,包括:解析当前核心映像以及数据分析平台的当前运行状态信息,获取多个分析参考数据;其中,分析参考数据包括当前核心映像所需的磁盘空间大小、软件进程的崩溃时间、数据分析平台当前分析的进程数量、计算机设备的剩余磁盘空间以及上一次软件进程的崩溃时间;根据所述分析参考数据,判断当前核心映像是否满足分析条件,若当前核心映像满足分析条件,则确定对软件进程进行崩溃数据分析,并将当前核心映像转存到数据分析平台的分析内存中;其中,当同时满足计算机设备的剩余磁盘空间与当前核心映像所需的磁盘空间大小的差值大于预设的存储阈值、软件进程的崩溃时间与上一次软件进程的崩溃时间的时间差值大于预设的时间阈值以及数据平台当前分析的进程数量小于预设的并行数量时,确定当前核心映像满足分析条件。3.根据权利要求2所述的方法,其特征在于,在根据所述分析参考数据,判断当前核心映像是否满足分析条件之后,还包括:若当前核心映像不满足分析条件,则确定停止对软件进程进行崩溃数据分析,并生成软件进程的崩溃摘要信息,将崩溃摘要信息发送至崩溃分析平台。4.根据权利要求2所述的方法,其特征在于,解析当前核心映像,获取软件进程中各线程的调用栈信息,包括:在当前核心映像中提取并解析可执行和可链接格式ELF,并根据解析结果在当前核心映像中提取第一程序段以及多个第二程序段;解析第一程序段,获取调试符号表,并解析各第二程序段中的目标项,根据解析结果获取软件进程中各线程信息;根据各线程信息以及所述调试符号表,生成各线程的调用栈信息。5.根据权利要求4所述的方法,其特征在于,在当前核心映像中提取并解析可执行和可链接格式ELF,并根据解析结果在当前核心映像中提取第一程序段以及多个第二程序段,包括:在当前核心映像中提取并解析可执行和可链接格式ELF,根据解析结果确定当前核心映像的结构、程序头表的大...

【专利技术属性】
技术研发人员:程捷
申请(专利权)人:北京博睿宏远数据科技股份有限公司
类型:发明
国别省市:

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

1