软件故障信息的收集方法、电子设备及系统技术方案

技术编号:37223485 阅读:22 留言:0更新日期:2023-04-20 23:08
本发明专利技术涉及计算机软件技术领域,具体涉及软件故障信息的收集方法、电子设备系统,该方法包括当目标软件启动时,加载并解析配置脚本,以获得监控对象的地址信息及故障监控条件;基于所述监控对象的地址信息设置监控断点;当所述监控断点的运行数据满足所述故障监控条件时,记录所述监控断点的运行数据,以确定所述目标软件的故障信息。在配置脚本中包括有监控对象的地址信息及故障监控条件,利用该地址信息即可设置监控断点对目标软件在监控断点处的运行数据进行记录,从而能够获得目标软件故障的过程数据。软件故障的过程数据。软件故障的过程数据。

【技术实现步骤摘要】
软件故障信息的收集方法、电子设备及系统


[0001]本专利技术涉及计算机软件
,具体涉及软件故障信息的收集方法、电子设备及系统。

技术介绍

[0002]在计算机软件中,当软件遇到崩溃类问题,又也可称之为crash问题,例如退出程序或重启,常采用内存转储文件(即,dump文件)对这类问题进行定位和解决。通过dump文件可以分析crash现场的函数调用堆栈及变量信息等,从而进一步分析相关代码或者构造环境复现,进而复现问题分析及验证。
[0003]然而对于崩溃问题的发生,往往都是数据被改成非法数据的过程难以探寻,而dump记录的现场堆栈只是访问非法数据时崩溃。对于外部用户的崩溃,信息缺少,环境差异等,往往都是本地难以复现。

技术实现思路

[0004]有鉴于此,本专利技术实施例提供了一种软件故障信息的收集方法、电子设备及系统,以解决软件故障信息的收集问题。
[0005]根据第一方面,本专利技术实施例提供了一种软件故障信息的收集方法,包括:
[0006]当目标软件启动时,加载并解析配置脚本,以获得监控对象的地址信息及故障监控条件;
[0007]基于所述监控对象的地址信息设置监控断点;
[0008]当所述监控断点的运行数据满足所述故障监控条件时,记录所述监控断点的运行数据,以确定所述目标软件的故障信息。
[0009]本专利技术实施例提供的软件故障信息的收集方法,通过将对配置脚本的加载与解析随目标软件的启动而进行,且在配置脚本中包括有监控对象的地址信息及故障监控条件,利用该地址信息即可设置监控断点对目标软件在监控断点处的运行数据进行记录,从而能够获得目标软件故障的过程数据,而非仅仅是结果数据,以便于后续进行故障再现与分析。同时,在配置脚本中包括有监控对象的地址信息,即使是在没有包括程序库文件的用户侧也能实现监控断点的设置,实现了软件故障信息的准确收集。
[0010]在一些实施方式中,所述基于所述监控对象的地址信息设置监控断点,包括:
[0011]获取所述监控对象的地址信息的类型,所述地址信息的类型包括静态地址信息或动态地址信息;
[0012]根据所述地址信息的类型以及所述监控对象的类型,确定监控断点的类型并设置对应类型的监控断点,所述监控对象的类型包括变量或函数。
[0013]本专利技术实施例提供的软件故障信息的收集方法,针对不同地址信息的类型以及监控对象的类型设置不同的监控断点,能够保证监控断点的准确性,从而实现运行数据的准确收集。
[0014]在一些实施方式中,所述根据所述地址信息的类型确定监控断点的类型并设置对应类型的监控断点,包括:
[0015]当所述地址信息的类型为静态地址信息时,获取所述地址信息所在模块的第一首地址;
[0016]将所述第一首地址加上所述地址信息,确定第一绝对地址;
[0017]根据所述第一绝对地址以及所述监控对象的类型,在所述第一绝对地址处设置第一监控断点,所述第一监控断点的类型包括函数断点、内存断点或硬件断点中的一种。
[0018]在一些实施方式中,所述根据所述地址信息的类型确定监控断点的类型并设置对应类型的监控断点,包括:
[0019]当所述地址信息的类型为动态地址信息时,在运行到所述地址信息时获取所述地址信息所在模块的第二首地址;
[0020]将所述第二首地址加上所述地址信息,确定第二绝对地址;
[0021]根据所述第二绝对地址以及所述监控对象的类型,在所述第二绝对地址处设置第二监控断点以及第三监控断点。
[0022]在一些实施方式中,所述加载并解析配置脚本,以获得监控对象的地址信息及故障监控条件包括:
[0023]获取所述目标软件的脚本配置信息,所述脚本配置信息包括所述监控对象的标识信息以及所述故障监控条件;
[0024]当所述标识信息为符号信息时,获取所述目标软件对应的程序库文件;
[0025]基于所述程序库文件将所述符号信息转换为地址信息,以确定所述配置脚本;
[0026]对所述配置脚本进行解析,确定所述监控对象的地址信息及故障监控条件。
[0027]本专利技术实施例提供的软件故障信息的收集方法,将对应的符号信息转化成不可读的变量地址信息,生成对应的配置脚本,所以用户侧即使没有程序库文件也可实现监控断点的设置。
[0028]在一些实施方式中,所述方法还包括:
[0029]获取更新后的配置脚本;
[0030]利用所述更新后的配置脚本替换所述配置脚本,以利用所述更新后的配置脚本对所述目标软件进行故障信息的收集。
[0031]本专利技术实施例提供的软件故障信息的收集方法,通过配置脚本更新的方式,不用编译升级软件即可以支持对新监控需求的支持。
[0032]在一些实施方式中,所述方法还包括:
[0033]当所述目标软件发生崩溃后,生成内存转储文件;
[0034]将所述内存转储文件以及所述目标软件的故障信息发送至分析服务器,以对所述目标软件的故障进行分析。
[0035]本专利技术实施例提供的软件故障信息的收集方法,由于只有内存转储文件和现场堆栈,信息较少而没有故障过程数据,导致开发本地复现时很多无效复现问题,基于此在发送内存转储文件的同时还发送目标软件的故障信息,通过对问题变量的监控实现了快速精准复现及问题定位。
[0036]根据第二方面,本专利技术实施例还提供了一种软件故障信息的收集装置,包括:
[0037]加载模块,用于当目标软件启动时,加载并解析配置脚本,以获得监控对象的地址信息及故障监控条件;
[0038]设置模块,用于基于所述监控对象的地址信息设置监控断点;
[0039]记录模块,用于当所述监控断点的运行数据满足所述故障监控条件时,记录所述监控断点的运行数据,以确定所述目标软件的故障信息。
[0040]根据第三方面,本专利技术实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面或者第一方面的任意一种实施方式中所述的软件故障信息的收集方法。
[0041]根据第四方面,本专利技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第一方面或者第一方面的任意一种实施方式中所述的软件故障信息的收集方法。
[0042]需要说明的是,本专利技术实施例提供的软件故障信息的收集装置、电子设备及计算机可读存储介质的相应有益效果,请参见上文软件故障信息的收集方法的对应有益效果的描述,在此不再赘述。
[0043]根据第五方面,本专利技术实施例提供了一种软件故障信息的收集系统,包括:
[0044]软件运行端,用于执行本专利技术第一方面或第一方面任一项实施方式中所述的软件故障信息的收集方法;
[0045]分析服务器,与所述软件运行端通信连接,所述分析服务器用于在所述目标软件发生崩溃后本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种软件故障信息的收集方法,其特征在于,包括:当目标软件启动时,加载并解析配置脚本,以获得监控对象的地址信息及故障监控条件;基于所述监控对象的地址信息设置监控断点;当所述监控断点的运行数据满足所述故障监控条件时,记录所述监控断点的运行数据,以确定所述目标软件的故障信息。2.根据权利要求1所述的方法,其特征在于,所述基于所述监控对象的地址信息设置监控断点,包括:获取所述监控对象的地址信息的类型,所述地址信息的类型包括静态地址信息或动态地址信息;根据所述地址信息的类型以及所述监控对象的类型,确定监控断点的类型并设置对应类型的监控断点,所述监控对象的类型包括变量或函数。3.根据权利要求2所述的方法,其特征在于,所述根据所述地址信息的类型确定监控断点的类型并设置对应类型的监控断点,包括:当所述地址信息的类型为静态地址信息时,获取所述地址信息所在模块的第一首地址;将所述第一首地址加上所述地址信息,确定第一绝对地址;根据所述第一绝对地址以及所述监控对象的类型,在所述第一绝对地址处设置第一监控断点,所述第一监控断点的类型包括函数断点、内存断点或硬件断点中的一种。4.根据权利要求2所述的方法,其特征在于,所述根据所述地址信息的类型确定监控断点的类型并设置对应类型的监控断点,包括:当所述地址信息的类型为动态地址信息时,在运行到所述地址信息时获取所述地址信息所在模块的第二首地址;将所述第二首地址加上所述地址信息,确定第二绝对地址;根据所述第二绝对地址以及所述监控对象的类型,在所述第二绝对地址处设置第二监控断点以及第三监控断点。5.根据权利要求1所述的方法,其特征在于,所述加载并解析配置脚本,以获得监控对象的地址信息及故障监控条件包括:获取所述目标软件的脚本配置信息,所述...

【专利技术属性】
技术研发人员:李进波
申请(专利权)人:广联达科技股份有限公司
类型:发明
国别省市:

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

1