基于应用异常的软件工具包地址定位方法及系统技术方案

技术编号:39641207 阅读:11 留言:0更新日期:2023-12-09 11:08
本申请实施例公开了一种基于应用异常的软件工具包地址定位方法及系统

【技术实现步骤摘要】
基于应用异常的软件工具包地址定位方法及系统


[0001]本申请实施例涉及计算机
,尤其涉及一种基于应用异常的软件工具包地址定位方法及系统


技术介绍

[0002]目前,随着移动互联网的飞速发展,移动应用的功能变得越来越复杂,一个大型应用通常由多个不同团队开发和维护的
SDK(Software Development Kit
,软件开发工具包
)
组成

在进行应用的运维过程中,为了快速发现并解决应用的性能异常问题
(
包括崩溃

卡顿
、CPU
异常

磁盘异常等
)
,需要通过应用异常对应的调用栈及时定位异常所属的
SDK
,迅速将异常问题分配给负责该模块的团队,以及时解决应用异常,提升开发效率

[0003]但是,相关的软件工具包地址定位方案中,通常会将
SDK
以静态库的方式链接到主工程,以此会导致
SDK
的代码地址与主工程合并在一起,难以通过调用栈获取

其对软件工具包地址的定位及时性较差,且容易出现定位误差


技术实现思路

[0004]本申请实施例提供一种基于应用异常的软件工具包地址定位方法及系统,能够在应用异常时精准定位软件工具包地址,提升软件工具包地址定位及时性,解决软件工具包地址定位误差问题

[0005]在第一方面,本申请实施例提供了一种基于应用异常的软件工具包地址定位方法,包括:
[0006]获取当前应用异常事件对应的调用栈,对调用栈中的指定数据帧进行过滤;
[0007]读取预设的映射文件,基于调用栈中过滤后的数据帧遍历映射文件,映射文件基于各个软件工具包地址和对应的地址字段信息构建;
[0008]在调用栈的数据帧与映射文件中对应的地址字段信息匹配的情况下,根据匹配到的地址字段信息输出相映射的软件工具包地址

[0009]在第二方面,本申请实施例提供了一种基于应用异常的软件工具包地址定位系统,包括:
[0010]过滤模块,获取当前应用异常事件对应的调用栈,对调用栈中的指定数据帧进行过滤;
[0011]遍历模块,用于读取预设的映射文件,基于调用栈中过滤后的数据帧遍历映射文件,映射文件基于各个软件工具包地址和对应的地址字段信息构建;
[0012]定位模块,用于在调用栈的数据帧与映射文件中对应的地址字段信息匹配的情况下,根据匹配到的地址字段信息输出相映射的软件工具包地址

[0013]在第三方面,本申请实施例提供了一种基于应用异常的软件工具包地址定位设备,包括:
[0014]存储器以及一个或多个处理器;
[0015]所述存储器,配置为存储一个或多个程序;
[0016]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于应用异常的软件工具包地址定位方法

[0017]在第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在由计算机处理器执行时配置为执行如第一方面所述的基于应用异常的软件工具包地址定位方法

[0018]在第五方面,本申请实施例提供了一种计算机程序产品,所述计算机程序产品中包含有指令,当指令在计算机或处理器上运行时,使得计算机或处理器执行如第一方面所述的基于应用异常的软件工具包地址定位方法

[0019]本申请实施例通过获取当前应用异常事件对应的调用栈,对调用栈中的指定数据帧进行过滤;读取预设的映射文件,基于调用栈中过滤后的数据帧遍历映射文件,映射文件基于各个软件工具包地址和对应的地址字段信息构建;在调用栈的数据帧与映射文件中对应的地址字段信息匹配的情况下,根据匹配到的地址字段信息输出相映射的软件工具包地址

采用上述技术手段,通过预构建映射文件,基于应用异常事件对应的调用栈遍历映射文件,以精准定位应用异常事件对应的软件工具包地址,提升软件工具包地址定位及时性

便于根据软件工具包地址对异常问题进行快速解决,保障应用的稳定性

附图说明
[0020]图1是本申请实施例提供的一种基于应用异常的软件工具包地址定位方法的流程图;
[0021]图2是本申请实施例中应用异常的处理流程图;
[0022]图3是本申请实施例中使用映射文件定位软件工具包地址的流程图;
[0023]图4是本申请实施例中的映射文件生成流程图;
[0024]图5是本申请实施例中的基于优先级的异常所属地址定位流程图;
[0025]图6是本申请实施例提供的一种基于应用异常的软件工具包地址定位系统的结构示意图;
[0026]图7是本申请实施例提供的一种基于应用异常的软件工具包地址定位设备的结构示意图

具体实施方式
[0027]为了使本申请的目的

技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述

可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定

另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法

虽然流程图将各项操作
(
或步骤
)
描述成顺序的处理,但是其中的许多操作可以被并行地

并发地或者同时实施

此外,各项操作的顺序可以被重新安排

当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤

所述处理可以对应于方法

函数

规程

子例程

子程序等等

[0028]本申请提供的基于应用异常的软件工具包地址定位方法,旨在通过预构建映射文
件,基于应用异常事件对应的调用栈遍历映射文件,以精准定位应用异常事件对应的软件工具包地址,提升软件工具包地址定位及时性

[0029]对于相关的软件工具包地址定位方案,其一般会在服务端搜索所属模块
(
即异常所属软件工具包地址
)
,这种方式的开发成本较高,并且需要客户端将异常信息上报到服务端进行预处理才能定位出所属模块

且其存在及时性差的问题,需要等待客户端上报并进行处理才能获取结果

[0030]另一种则是在各模块插入首尾函数,通过调用栈地址是否在首尾函数地址范围来定位异常本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种基于应用异常的软件工具包地址定位方法,其特征在于,包括:获取当前应用异常事件对应的调用栈,对所述调用栈中的指定数据帧进行过滤;读取预设的映射文件,基于所述调用栈中过滤后的数据帧遍历所述映射文件,所述映射文件基于各个软件工具包地址和对应的地址字段信息构建;在所述调用栈的数据帧与所述映射文件中对应的所述地址字段信息匹配的情况下,根据匹配到的所述地址字段信息输出相映射的所述软件工具包地址
。2.
根据权利要求1所述的基于应用异常的软件工具包地址定位方法,其特征在于,所述映射文件基于应用程序编译过程中的链接映射文件所提取到的信息字段生成
。3.
根据权利要求2所述的基于应用异常的软件工具包地址定位方法,其特征在于,所述信息字段包括编译目标文件字段和符号字段;所述映射文件的生成流程包括:基于文件生成脚本读取应用程序编译过程中的链接映射文件,得到所述编译目标文件字段和所述符号字段;遍历所述编译目标文件字段和所述符号字段,获取表征各个软件工具包地址的静态库名和软件工具包地址名,以及表征对应的所述地址字段信息的地址范围,基于所述静态库名和所述软件工具包地址名和对应的所述地址范围生成所述映射文件
。4.
根据权利要求1所述的基于应用异常的软件工具包地址定位方法,其特征在于,所述映射文件预先打包至应用程序的安装包,并在安装应用程序的情况下存储至应用内存中
。5.
根据权利要求1所述的基于应用异常的软件工具包地址定位方法,其特征在于,所述基于所述调用栈中过滤后的数据帧遍历所述映射文件之后,还包括:在所述调用栈的数据帧未与所述映射文件中对应的所述地址字段信息匹配的情况下,基于各个指定类型地址信息的定位优先级检测所述调用栈中的数据帧,输出当前应用异常事件对应的所述指定类型地址信息
。6.
根据权利要求5所述的基于应用异常的软件工具包地址定位方法,其特征在于,所述指定类型地址信息包括定位优先级依次降低的主工程地址

钩子函数地址和系统函数地址
。7.
根据权利要求6所述的基于应用异常的软件工具包地址定位方法,其特征在于,所述基于各个指定类型地址信息的定位优先级检测所述调用栈中的数据帧,...

【专利技术属性】
技术研发人员:曾可杰
申请(专利权)人:广州市百果园信息技术有限公司
类型:发明
国别省市:

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

1