异常信息定位方法、系统、计算机设备及可读存储介质技术方案

技术编号:33135342 阅读:11 留言:0更新日期:2022-04-17 00:59
本申请涉及一种程序开发和测试技术,揭露了一种异常信息定位方法,该方法包括:通过代理包收集程序运行过程中的异常信息;将所述代理包收集到的所述异常信息发送至异常信息反馈单元;所述异常信息反馈单元对所述异常信息进行解析,定位所述异常信息对应的异常代码位置。本申请还提供一种异常信息定位系统、计算机设备及计算机可读存储介质。本申请提供的异常信息定位方法、系统、计算机设备及计算机可读存储介质能够通过代理包捕捉程序代码运行过程中发生的各种异常,并解析所述异常信息获得这些异常发生的具体代码位置,加快异常处理的进度,减少耗费的人力和时间。减少耗费的人力和时间。减少耗费的人力和时间。

【技术实现步骤摘要】
异常信息定位方法、系统、计算机设备及可读存储介质


[0001]本申请涉及程序开发和测试,尤其涉及一种异常信息定位方法、系统、计算机设备及计算机可读存储介质。

技术介绍

[0002]在应用程序系统开发测试过程中,经常会出现各种各样的异常信息。这些异常信息隐藏在各个不同的日志文件中,甚至被开发人员的代码所吞没,在内存中不方便查找。
[0003]并且,一旦出现异常,开发和测试人员都要进行相应的关注。而在测试人员进行测试的过程中,开发人员的介入会相对较少。由于测试人员对代码的了解较少,有可能无法根据异常信息找到对应的代码,或者查找速度很慢,从而无法迅速判断异常来源,例如是否是代码漏洞、是否是代码改动导致的漏洞等。因此,测试人员排查异常来源需要消耗更多的时间,造成人力和时间的浪费。
[0004]在这种情况下,如何方便地查找到异常信息,以及将异常信息和对应的代码关联起来,则变得尤为重要。

技术实现思路

[0005]有鉴于此,本申请提出一种异常信息定位方法、系统、计算机设备及计算机可读存储介质,以解决如何快速查找异常信息并定位对应代码的技术问题。
[0006]首先,为实现上述目的,本申请提出一种异常信息定位方法,该方法包括步骤:
[0007]通过代理包收集程序运行过程中的异常信息;
[0008]将所述代理包收集到的所述异常信息发送至异常信息反馈单元;
[0009]所述异常信息反馈单元对所述异常信息进行解析,定位所述异常信息对应的异常代码位置。
[0010]可选地,所述通过代理包收集程序运行过程中的异常信息包括:
[0011]设置所述代理包及对应的命令,所述命令中包括所述代理包的路径和所述代理包的预定参数;
[0012]在应用程序运行过程中通过所述代理包监听所述程序中的各个类,发现异常信息;
[0013]收集所述代理包监听到的所述异常信息。
[0014]可选地,所述代理包为Java代理技术中的Jar文件包,在所述程序运行前或运行后加载,以针对所述程序中的各个类进行监听。
[0015]可选地,所述预定参数包括所述代理包在所述程序运行前加载还是在所述程序运行后加载,以及所述代理包中对应所述加载方式编写的函数中所需的具体参数。
[0016]可选地,所述在应用程序运行过程中通过所述代理包监听所述程序中的各个类包括:
[0017]通过Java Instrumentation技术提供的API接口,在所述类加载后对所述类的字
节码进行修改增强,从而监听所述类的运行。
[0018]可选地,所述异常信息反馈单元对所述异常信息进行解析,定位所述异常信息对应的异常代码位置包括:
[0019]对所述异常信息进行字节码反编译处理,得到异常类型、类信息、方法、参数、实时字节码信息,根据所述类信息、方法、参数、实时字节码信息逐层定位到发生异常的具体代码位置。
[0020]可选地,所述方法还包括:
[0021]根据所述定位将所述异常代码通过预设方式发送至指定人员进行处理。
[0022]此外,为实现上述目的,本申请还提供一种异常信息定位系统,所述系统包括:
[0023]收集模块,用于通过代理包收集程序运行过程中的异常信息;
[0024]发送模块,用于将所述代理包收集到的所述异常信息发送至异常信息反馈单元;
[0025]解析模块,用于所述异常信息反馈单元对所述异常信息进行解析,定位所述异常信息对应的异常代码位置。
[0026]进一步地,为实现上述目的,本申请还提供一种计算机设备,包括存储器、处理器,所述存储器上存储有可在所述处理器上运行的异常信息定位程序,所述异常信息定位程序被所述处理器执行时实现如上述的异常信息定位方法的步骤。
[0027]进一步地,为实现上述目的,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有异常信息定位程序,所述异常信息定位程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的异常信息定位方法的步骤。
[0028]相较于现有技术,本申请所提出的异常信息定位方法、系统、计算机设备及计算机可读存储介质,可以通过代理包捕捉程序代码运行过程中发生的各种异常,并收集异常信息,然后分别解析所述异常信息获得这些异常发生的具体位置,并与运行的代码关联起来,可以对异常信息进行初步排除过滤,大大加快异常处理的进度,减少耗费的人力和时间。
附图说明
[0029]图1为实现本申请各个实施例的一种应用环境架构图;
[0030]图2为图1中的测试端中的一种应用环境架构图;
[0031]图3为本申请第一实施例提出的一种异常信息定位方法的流程图;
[0032]图4为图3中步骤S200的细化流程示意图;
[0033]图5为本申请第二实施例提出的一种异常信息定位方法的流程图;
[0034]图6为本申请第三实施例提出的一种计算机设备的硬件架构示意图;
[0035]图7为本申请第四实施例提出的一种异常信息定位系统的模块示意图;
[0036]图8为本申请第五实施例提出的一种异常信息定位系统的模块示意图。
[0037]本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0038]为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前
提下所获得的所有其他实施例,都属于本申请保护的范围。
[0039]需要说明的是,在本申请中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
[0040]请参阅图1,图1为实现本申请各个实施例的一种应用环境架构图。本申请可应用于包括,但不仅限于开发端1、测试端3的应用环境中。
[0041]其中,所述开发端1用于开发应用程序相关程序代码,并提交至测试端3进行各种程序测试,例如性能测试、功能测试等。待测试端3返回测试结果后再对所述程序代码相应位置进行修改等处理。
[0042]所述测试端3用于根据开发端1的测试请求对所述程序代码进行相应测试,并返回测试结果。
[0043]如图2所示,为所述测试端3中的一种应用环境示意图。
[0044]在本申请各个实施例中,所述测试端3可以通过代理包30捕捉(应用程序的)程序代码运行过程中发生的各种异常,并收集异常信息,然后通过消息队列本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异常信息定位方法,其特征在于,所述方法包括:通过代理包收集程序运行过程中的异常信息;将所述代理包收集到的所述异常信息发送至异常信息反馈单元;所述异常信息反馈单元对所述异常信息进行解析,定位所述异常信息对应的异常代码位置。2.如权利要求1所述的方法,其特征在于,所述通过代理包收集程序运行过程中的异常信息包括:设置所述代理包及对应的命令,所述命令中包括所述代理包的路径和所述代理包的预定参数;在应用程序运行过程中通过所述代理包监听所述程序中的各个类,发现异常信息;收集所述代理包监听到的所述异常信息。3.如权利要求2所述的方法,其特征在于,所述代理包为Java代理技术中的Jar文件包,在所述程序运行前或运行后加载,以针对所述程序中的各个类进行监听。4.如权利要求3所述的方法,其特征在于,所述预定参数包括所述代理包在所述程序运行前加载还是在所述程序运行后加载,以及所述代理包中对应所述加载方式编写的函数中所需的具体参数。5.如权利要求2所述的方法,其特征在于,所述在应用程序运行过程中通过所述代理包监听所述程序中的各个类包括:通过Java Instrumentation技术提供的API接口,在所述类加载后对所述类的字节码进行修改增强,从而监听所述类的运行。6.如权利要求1所述的方法,其特征在于,所述异常信息反馈单元...

【专利技术属性】
技术研发人员:姚玉屈清涛胡金松张华伟
申请(专利权)人:平安付科技服务有限公司
类型:发明
国别省市:

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

1