System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种程序异常的追溯方法及显示设备、服务器。
技术介绍
1、核心转储(coredump)是指当程序出错而异常中断时,操作系统会把程序工作的当前状态相关信息存储成一个核心转储文件,以供系统故障排查或者调试。通常情况下,核心转储文件包含程序运行时的内存调用、堆栈引用、进程和线程调用,以及,内存管理信息等。
2、在程序异常时,核心转储文件可能会生成,也可能因为其他原因而无法生成。如果核心转储文件无法生成,则无法获得程序异常退出时的堆栈状态,导致不能分析程序异常的原因。
技术实现思路
1、本申请提供了一种程序异常的追溯方法及显示设备、服务器,以解决仅依据核心转储文件可能出现无法实现程序异常的追溯情况的问题。
2、第一方面,本申请提供了一种显示设备,包括:通信器,被配置为与服务器建立通信连接;与所述通信器连接的控制器,所述控制器被配置为:
3、监听目标程序的运行状态;
4、如果监听到所述目标程序运行异常,则检测系统配置的第一开关是否开启和第二开关是否开启;
5、响应于检测到所述第一开关处于开启状态,基于所述目标程序在运行异常时的所有运行数据,生成核心转储文件,以及,将所述核心转储文件发送至服务器进行存储;
6、响应于检测到所述第二开关处于开启状态,获取所述目标程序的所有线程的堆栈信息,基于所述所有线程的堆栈信息,生成追溯文件,以及,将所述追溯文件发送至服务器进行存储,所述服务器用于对所述核心转储文
7、本申请一些实施例中,所述控制器被进一步配置为:
8、获取系统日志文件;
9、将所述核心转储文件和/或所述追溯文件存入所述系统日志文件中;
10、将带有所述核心转储文件和/或所述追溯文件的系统日志文件存储在本地。
11、本申请一些实施例中,所述控制器被进一步配置为:
12、在生成所述核心转储文件和/或所述追溯文件之后,分别对所述核心转储文件和/或所述追溯文件进行压缩处理;
13、将压缩后的核心转储文件和/或所述追溯文件存入所述系统日志文件中,以及,发送至服务器进行存储。
14、本申请一些实施例中,所述控制器被进一步配置为:
15、在生成核心转储文件之后,获取当前生成的所述核心转储文件的第一文件名称和第一时间戳;
16、基于所述第一文件名称,判断本地是否存储有历史生成的核心转储文件;
17、如果本地存储有历史生成的核心转储文件,则基于所述第一时间戳,由当前生成的所述核心转储文件替换历史生成的核心转储文件,更新所述系统日志文件。
18、本申请一些实施例中,所述控制器被进一步配置为:
19、在生成追溯文件之后,获取当前生成的所述追溯文件的第二文件名称和第二时间戳;
20、基于所述第二文件名称,判断本地是否存储有历史生成的追溯文件;
21、如果本地存储有历史生成的追溯文件,则基于所述第二时间戳,由当前生成的所述追溯文件替换历史生成的追溯文件,更新所述系统日志文件。
22、本申请一些实施例中,所述控制器被进一步配置为:
23、在所述目标程序编译时,生成用于编译所述目标程序的程序包和所述程序包的代码版本信息,所述程序包的代码版本信息用于表征所述目标程序的第一版本信息;
24、对所述程序包进行去符号表处理,得到不包含符号表的程序包,所述不包含符号表的程序包用于运行所述目标程序;
25、将所述目标程序的第一版本信息、所述不包含符号表的程序包和未经去符号表处理的原程序包,存储至服务器。
26、本申请一些实施例中,所述核心转储文件包括第一文件名称、目标程序的第二版本信息、目标程序运行异常时的第一时间戳和所述目标程序在运行异常时的所有运行数据,所述追溯文件包括第二文件名称、目标程序的第二版本信息、目标程序运行异常时的第二时间戳和所述目标程序的所有线程的堆栈信息。
27、第二方面,本申请还提供了一种服务器,包括:通信模块,被配置为与显示设备建立通信连接;存储器,被配置为存储数据文件;分别与所述通信模块和所述存储器连接的处理器,所述处理器被配置为:
28、接收显示设备发送的在目标程序运行异常时生成的核心转储文件和/或追溯文件;
29、基于所述核心转储文件和/或追溯文件对应的目标程序的第二版本信息,从所述存储器中获取目标程序的第一版本信息对应的未经去符号表处理的原程序包,所述第二版本信息对应的版本号与第一版本信息对应的版本号一致;
30、利用所述未经去符号表处理的原程序包对所述核心转储文件和/或追溯文件进行解析,基于解析结果确定所述目标程序的异常原因。
31、第三方面,本申请还提供了一种程序异常的追溯方法,应用于显示设备,所述方法包括:
32、监听目标程序的运行状态;
33、如果监听到所述目标程序运行异常,则检测系统配置的第一开关是否开启和第二开关是否开启;
34、响应于检测到所述第一开关处于开启状态,基于所述目标程序在运行异常时的所有运行数据,生成核心转储文件,以及,将所述核心转储文件发送至服务器进行存储;
35、响应于检测到所述第二开关处于开启状态,获取所述目标程序的所有线程的堆栈信息,基于所述所有线程的堆栈信息,生成追溯文件,以及,将所述追溯文件发送至服务器进行存储,所述服务器用于对所述核心转储文件和/或所述追溯文件进行解析,以确定所述目标程序的异常原因。
36、第四方面,本申请还提供了一种程序异常的追溯方法,应用于服务器,所述方法包括:
37、接收显示设备发送的在目标程序运行异常时生成的核心转储文件和/或追溯文件;
38、基于所述核心转储文件和/或追溯文件对应的目标程序的第二版本信息,从所述存储器中获取目标程序的第一版本信息对应的未经去符号表处理的原程序包,所述第二版本信息对应的版本号与第一版本信息对应的版本号一致;
39、利用所述未经去符号表处理的原程序包对所述核心转储文件和/或追溯文件进行解析,基于解析结果确定所述目标程序的异常原因。
40、第五方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可存储有程序,该程序执行时可实现包括本申请提供的程序异常的追溯方法各实施例中的部分或全部步骤。
41、本申请实施例提供的一种程序异常的追溯方法及显示设备、服务器,在显示设备监听到目标程序运行异常时,如果第一开关开启,则基于目标程序在运行异常时的所有运行数据,生成核心转储文件;如果第二开关开启,则基于目标程序的所有线程的堆栈信息,生成追溯文件。将核心转储文件和/或追溯文件发送至服务器进行存储。服务器依据追溯文件对目标程序运行异常的原因进行概要分析。或者,服务器从核心转储文本文档来自技高网...
【技术保护点】
1.一种显示设备,其特征在于,包括:
2.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
3.根据权利要求2所述的显示设备,其特征在于,所述控制器被进一步配置为:
4.根据权利要求3所述的显示设备,其特征在于,所述控制器被进一步配置为:
5.根据权利要求3所述的显示设备,其特征在于,所述控制器被进一步配置为:
6.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
7.根据权利要求1-6任一项所述的显示设备,其特征在于,所述核心转储文件包括第一文件名称、目标程序的第二版本信息、目标程序运行异常时的第一时间戳和所述目标程序在运行异常时的所有运行数据,所述追溯文件包括第二文件名称、目标程序的第二版本信息、目标程序运行异常时的第二时间戳和所述目标程序的所有线程的堆栈信息。
8.一种服务器,其特征在于,包括:
9.一种程序异常的追溯方法,应用于显示设备,其特征在于,所述方法包括:
10.一种程序异常的追溯方法,应用于服务器,其特征在于,所述方
...【技术特征摘要】
1.一种显示设备,其特征在于,包括:
2.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
3.根据权利要求2所述的显示设备,其特征在于,所述控制器被进一步配置为:
4.根据权利要求3所述的显示设备,其特征在于,所述控制器被进一步配置为:
5.根据权利要求3所述的显示设备,其特征在于,所述控制器被进一步配置为:
6.根据权利要求1所述的显示设备,其特征在于,所述控制器被进一步配置为:
7.根据权利要求1-6...
【专利技术属性】
技术研发人员:王宇,张华亮,冯亮,孙钰琦,王新志,
申请(专利权)人:VIDAA国际控股荷兰公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。