一种故障处理方法、装置、设备及存储介质制造方法及图纸

技术编号:34912986 阅读:17 留言:0更新日期:2022-09-15 07:02
本公开关于一种故障处理方法、装置、设备及存储介质,通过将目标应用故障关联的函数地址与存储的全量目标符号的地址区间进行匹配,可以在不依赖系统符号表的基础上,准确高效地进行符号化处理,实时确定故障所对应的符号,从而提高故障问题的定位速度;并且由于全量目标符号是目标终端对应的目标符号,将目标应用故障关联的函数地址与该全量目标符号的地址区间进行匹配,可以准确得到函数对应的符号,避免符号的遗漏,从而保证符号化的全面性,提高了应用场景的兼容性。高了应用场景的兼容性。高了应用场景的兼容性。

【技术实现步骤摘要】
一种故障处理方法、装置、设备及存储介质


[0001]本公开涉及数据处理领域,尤其涉及一种故障处理方法、装置、设备及存储介质。

技术介绍

[0002]随着应用软件的发展,应用软件的稳定性备受关注。一般在解决故障问题时,可以通过对函数指针进行符号化,以对故障进行定位。相关技术中,可以根据应用软件运行时调用的函数指针的地址,去查找动态库二进制文件的符号表,如果动态库里存在了该符号信息,就可以对函数指针进行符号化。但一些系统为了优化包体积,利用strip技术对动态库去除了函数名,导致无法通过对函数指针进行符号化,对故障进行定位,影响了故障处理功能。

技术实现思路

[0003]本公开提供一种故障处理方法、装置、设备及存储介质,以至少解决相关技术中函数名被去除的情况下,无法进行符号化导致的故障处理异常问题。本公开的技术方案如下:
[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]通过将目标应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种故障处理方法,应用于目标终端,其特征在于,包括:响应于目标应用故障时的处理请求,确定故障事件关联信息;所述故障事件关联信息包括运行所述目标应用时所调用的至少一个函数的函数地址;获取全量目标符号的地址区间;所述地址区间是根据服务端中存储所述全量目标符号的初始开始地址、初始结束地址和内存中所述全量目标符号对应的随机地址偏移量确定的地址区间;所述全量目标符号为所述目标终端对应的目标符号;将所述至少一个函数的函数地址与所述全量目标符号的地址区间进行匹配,确定所述至少一个函数对应的符号;基于所述至少一个函数对应的符号处理所述目标应用的故障问题。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:向所述服务端发送符号获取请求,所述符号获取请求包括终端标识;接收所述服务端基于所述终端标识确定的所述全量目标符号的初始开始地址和初始结束地址;从内存中获取所述全量目标符号对应的随机地址偏移量;根据所述全量目标符号的初始开始地址、初始结束地址和所述全量目标符号对应的随机地址偏移量确定所述全量目标符号的地址区间。3.根据权利要求2所述的方法,其特征在于,所述向所述服务端发送符号获取请求之前,所述方法还包括:获取所述目标终端的系统版本信息、系统子版本信息和中央处理器类型信息;基于所述目标终端的系统版本信息、系统子版本信息和中央处理器类型信息生成所述终端标识。4.根据权利要求1所述的方法,其特征在于,所述将所述至少一个函数的函数地址与所述全量目标符号的地址区间进行匹配,确定所述至少一个函数对应的符号包括:确定所述至少一个函数的的调用链信息;基于所述调用链信息依次将所述至少一个函数的函数地址与所述全量目标符号的地址区间进行匹配,确定每个函数对应的符号。5.根据权利要求1所述的方法,其特征在于,所述基于所述至少一个函数对应的符号处理所述目标应用的故障问题包括:基于所述至少一个函数对应的符号得到所述至少一个函数的函数标识;根据所述至少一个函数的函数标识,确定所述目标应用的故障类型和所述故障类型对应的处理方式。6.一种故障处理方法,应用于服务端,其特征在于,包括:从全量符号中确定目标终端对应的全量目标符号、所述全量目标符号的初始开始地址、初始结束地址;将所述全量目标符号、所述全量目标符号的初始开始地址、初始结束地址发送给所述目标终端,以使目标终端响应于目标应用故障时的处理请求,确定故障事件关联信息;所述故障事件关联信息包括运行所述目标应用时所调用的至少一个函数的函数地址,基于所述全量目标符号的初始开始地址、初始结束地址和内存中所述全量目标符号对应的随机地址偏移量确定所述...

【专利技术属性】
技术研发人员:刘俊龙
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1