CN114528201A - 异常代码定位方法、装置、设备及介质 - Google Patents

异常代码定位方法、装置、设备及介质 Download PDF

Info

Publication number
CN114528201A
CN114528201A CN202111354968.0A CN202111354968A CN114528201A CN 114528201 A CN114528201 A CN 114528201A CN 202111354968 A CN202111354968 A CN 202111354968A CN 114528201 A CN114528201 A CN 114528201A
Authority
CN
China
Prior art keywords
abnormal
code
exception
interface
code segment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111354968.0A
Other languages
English (en)
Inventor
吕开成
袁田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202111354968.0A priority Critical patent/CN114528201A/zh
Publication of CN114528201A publication Critical patent/CN114528201A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3692Test management for test results analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3696Methods or tools to render software testable

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请属于计算机技术领域,特别涉及一种异常代码定位方法、异常代码定位装置、计算机设备及计算机可读存储介质,其中,一种异常代码定位方法包括以下步骤:当接收到被测接口在测试过程中返回的异常信息时,确定被测接口的接口地址;基于异常信息与接口地址,从被测服务器中远程查询被测接口的日志文件,得到与异常信息对应的异常堆栈信息;根据异常堆栈信息确定异常代码段的异常代码关系链;按照异常代码关系链,从异常代码段与关联代码段中确定出异常代码内容。应用本申请实施例所提供的技术方案,及时确定异常代码内容,提高了定位异常代码的效率。

Description

异常代码定位方法、装置、设备及介质
技术领域
本发明属于计算机技术领域,特别涉及一种异常代码定位方法、异常代码 定位装置、计算机设备及计算机可读存储介质。
背景技术
随着互联网的发展,对应用程序的功能和要求越来越高,当应用程序为用 户提供服务运行时或者***在运行测试时时常会发生异常问题。虽然,现有异 常检测方案能够从测试结果或者执行日志中确定出存在异常部分,例如,通过 检测应用程序的日志文件,确定出应用程序中存在异常的服务或者存在异常的 功能。但是,当存在异常的服务或者存在异常的功能实现过程较为复杂时,确 定出存在异常部分并不能够对造成该异常的脚本片段进行追根溯源,也即无法 及时确定导致该异常的代码片段。
发明内容
本申请的目的在于提供一种异常代码定位方法、异常代码定位装置、计算 机设备及计算机可读存储介质,以解决现有技术中存在的异常代码定位方式法 及时确定导致异常的代码片段的问题。
本申请实施例的第一方面提供了一种异常代码定位方法,包括:
当接收到被测接口在测试过程中返回的异常信息时,确定所述被测接口的 接口地址;所述被测接口为被测服务器的接口;
基于所述异常信息与所述接口地址,从所述被测服务器中远程查询所述被 测接口的日志文件,得到与所述异常信息对应的异常堆栈信息;
根据所述异常堆栈信息确定异常代码段的异常代码关系链,其中,所述异 常代码关系链用于描述所述异常代码段与关联代码段之间的关联范围;
按照所述异常代码关系链,从所述异常代码段与所述关联代码段中确定出 异常代码内容。
本申请实施例的第二方面提供了一种异常代码定位装置,包括:
确定模块,用于当接收到被测接口在测试过程中返回的异常信息时,确定 所述被测接口的接口地址;所述被测接口为被测服务器的接口;
查询模块,用于基于所述异常信息与所述接口地址,从所述被测服务器中 远程查询所述被测接口的日志文件,得到与所述异常信息对应的异常堆栈信息;
关系模块,用于根据所述异常堆栈信息确定异常代码段的异常代码关系链, 所述异常代码关系链用于描述所述异常代码段与关联代码段之间的关联范围;
异常模块,用于按照所述异常代码关系链,从所述异常代码段与所述关联 代码段中确定出异常代码内容。
本申请实施例的第三方面提供了一种计算机设备,包括存储器、处理器以 及存储在所述存储器中并可在计算机设备上运行的计算机程序,所述处理器执 行所述计算机程序时实现第一方案提供的异常代码定位方法的各步骤。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可 读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现第一方案 提供的异常代码定位方法的各步骤。
实施本申请实施例提供的一种异常代码定位方法、异常代码定位装置、计 算机设备及计算机可读存储介质具有以下有益效果:
本申请实施例提供的一种异常代码定位方法、异常代码定位装置、计算机 设备及计算机可读存储介质,通过接收到被测接口在测试过程中返回的异常信 息时,确定被测接口的接口地址;因为被测接口为被测服务器的接口,所以基 于异常信息与接口地址,能够从被测服务器中远程查询被测接口的日志文件, 得到与异常信息对应的异常堆栈信息;又因为根据异常堆栈信息确定异常代码 段的异常代码关系链,而异常代码关系链用于描述异常代码段与关联代码段之 间的关联范围;分析异常代码段与关联代码段之间的继承与调用关系,所以按 照异常代码关系链,从异常代码段与关联代码段中确定出异常代码内容。提高 了定位异常代码的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅 仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳 动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种异常代码定位方法的实现流程图;
图2为本申请实施例提供的一种异常代码定位装置的结构框图;
图3为本申请实施例提供的一种计算机设备的结构框图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白, 以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描 述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本实施例提供的一种异常代码定位方法,执行主体为服务器集群中用于对 异常代码进行定位的目标服务器。这里,服务器集群可以是由多个服务器组成 的服务器集群,基于该服务器集群构建分布式***,令构建分布式***所需的 各组件能够被配置到服务器集群中的各服务器中,被配置有分布式***组件的 服务器,也可以被称为组件服务器。服务器集群中的各服务器之间能够进行数 据共享或数据同步。在此基础上,向该服务器集群中的任一服务器配置目标脚 本文件,由该目标脚本文件描述本实施例提供的异常代码定位方法,使得该配 置有目标脚本文件的服务器能够通过执行该目标脚本文件,进而执行异常代码 定位方法中的各个步骤。或者,通过对服务器集群配置新的服务器,向该新的 服务器配置目标脚本文件,由该目标脚本文件描述本实施例提供的异常代码定 位方法,使得该新的服务器能够通过执行该目标脚本文件,进而执行异常代码 定位方法中的各个步骤。
在实现时,服务器集群中用于对异常代码进行定位的目标服务器,当接收 到被测接口在测试过程中返回的异常信息时,目标服务器确定被测接口的接口 地址。因为被测接口为被测服务器的接口,所以目标服务器基于异常信息与接 口地址,远程查询所述被测接口的日志文件,目标服务器得到与异常信息对应 的异常堆栈信息;又因为目标服务器根据异常堆栈信息确定异常代码段的异常 代码关系链,而异常代码关系链用于描述异常代码段与关联代码段之间的关联 范围;目标服务器能够分析异常代码段与管理代码段之间的继承与调用关系, 所以目标服务器能够按照异常代码关系链,从异常代码段与关联代码段中确定 出异常代码内容。提高了定位异常代码的效率。
参照图1所示,图1示出了本申请实施例提供的一种异常代码定位方法的 实现流程图。一种异常代码定位方法包括:
S11:当接收到被测接口在测试过程中返回的异常信息时,确定所述被测接 口的接口地址;所述被测接口为被测服务器的接口。
在步骤S11中,在对被测服务器进行接口测试时,目标服务器通常会接收 到被测服务器接口的返回的信息,而得到的返回的信息能表征是否返回了预期 的结果。目标服务器是实施本方案的服务器,而被测服务器是存储异常代码脚 本文件的另一个服务器。返回的信息是指接口在被调用时会返回接口相应的接 口调用状况。根据接口调用状况的不同以及预设规则,生成接口返回的信息。 在终端请求调用接口过程中,目标服务器所接收到的接口返回信息根据预设规 则中的设定划分正常状况与异常状况,即通过数值或者文字信息来表示接口所 代表的调用状况的正常与异常。例如,假设接口返回值正常情况下应返回1, 但实际情况是终端获取到的接口返回值为0或-1,那么此时被测接口的返回的 信息即为异常的信息,而该异常信息表明被测的接口无法正常运行,出现了异 常运行状况。根据接口去实现不同的功能。接口实际上也就是后台一个具体的 功能。接口测试就是接口的实现过程,接口测试去验证这个接口的实现是否正 确。
异常信息是指调用接口的异常返回值的信息。异常信息包括异常码、异常 时间和异常类型,其中,异常时间指返回被测接口的具体时间。异常类型是指 预先设定好的异常报错信息,包括消息提示,异常码等。接口地址是指提供被 测接口的***所部署的被测服务器地址。确定接口地址是为了登录被测服务器 的地址查找到异常信息对应的日志文件。
作为本申请实施例的一种实现方式,步骤S11包括:
向被测服务器发送用于调用被测接口的请求,以接收所述被测服务器根据 所述请求返回的测试信息;
当所述测试信息中存在预先设置的异常信息时,确定所述被测接口的接口 地址。
具体地,当进行被测服务器的接口测试时,通过目标服务器向被测服务器 发送调用被测接口的请求,被测服务器接收到目标服务器的请求,被测服务器 对请求进行处理并向目标服务器返回测试信息。返回的测试信息
作为一个示例,在被测服务器预先设置当调用接口成功或失败时会返回测 试信息,当测试信息为预先设置的异常信息时,代码可能出现了异常,需要登 录被测服务器的接口地址找到异常代码并对异常代码进行改正、修订。
S12:基于所述异常信息与所述接口地址,从所述被测服务器中远程查询所 述被测接口的日志文件,得到与所述异常信息对应的异常堆栈信息。
在步骤S12中,日志文件是指记录操作***或其他软件运行中发生的事件 的文件。在软件中添加程序日志可以跟踪软件代码运行时的轨迹,反映软件的 历史运行情况,使得开发人员和测试人员可以借助日志文件来排查代码存在错 误或异常的问题。远程查询日志文件可以通过获取到的登录权限,远程登录被 测服务器的接口地址,使用命令获取到保存日志文件的目录从而获取日志文件 的内容。登录被测服务器地址的权限方式可以采用SSH方式或者根据IP地址和 密码远程连接登录被测服务器,从而来查询日志文件。可以通过将日志文件的 内容可以打印在控制台上,也可以通过后台文件查看日志文件的内容。日志文 件中包括异常信息,也包括用于记录事件被写入日志的日期和时间的时间信息、 事件类型、应用程序的状态信息等。
异常堆栈信息是日志文件中提示出错的报错信息集合。异常堆栈信息包括 异常信息和异常代码段的文件路径,其中异常代码段的文件路径包括异常代码 段的包名、异常代码段的类名、异常代码段的方法名和异常代码段的行数。当 日志文件上的异常时间和异常类型与接口返回的异常时间和异常类型相同时, 找到相应的报错信息,由报错信息组成异常堆栈信息。
作为本申请实施例的一种实现方式,步骤S12包括:
获取所述被测服务器的登录权限;
基于所述登录权限登录所述接口地址,并查询所述被测接口对应的日志文 件;
根据所述异常信息在所述日志文件上进行定位,得到与所述异常信息对应 的异常堆栈信息。
具体地,获取被测服务器的登录权限可以采用SSH方式或者输入IP地址和 密码的方式,登录被测服务器的接口地址,并使用命令查询到日志文件所在的 位置并查看日志文件。根据异常信息在日志文件进行定位实际上根据异常信息 中的异常时间和异常类型去查找日志文件内容的对应的异常堆栈信息。例如, 返回的异常信息中消息提示为“***清算中,请稍后再试”,根据“***清算 中,请稍后再试”检索日志文件的内容,找到日志文件中包含消息提示的内容。 以此为示例,按照返回的异常信息的异常码、异常时间和异常类型找到所有异 常堆栈信息。
S13:根据所述异常堆栈信息确定异常代码段的异常代码关系链,其中,所 述异常代码关系链用于描述所述异常代码段与关联代码段之间的关联范围。
在步骤S13中,因为异常堆栈信息包括异常代码段的文件路径,而异常代 码段的文件路径包括异常代码段的包名、异常代码段的类名、异常代码段的方 法名和异常代码段的行数。根据异常堆栈信息中异常代码段的文件路径,可以 从源代码中找到异常代码段相应的位置从而找到异常代码段的内容。异常代码 关系链能够基于报错的异常代码段的内容追根溯源查找到与异常代码段存在调 用与继承关系的关联代码段,从局部到整体,找到底层异常代码内容。
异常代码关系链是指异常代码段与关联代码段之间的关联范围。异常代码 关系链包括异常代码段与关联代码段之间方法的调用关系和类的继承关系。一 般异常代码段中的子类继承其他代码的父类,异常代码段也会调用其他代码的 方法,这里的关联代码段就是被异常代码段继承的父类和调用的方法的代码。 确定异常代码关系链就是要找到异常代码段的所有类的继承关系和方法调用关 系。其中,方法的调用关系为在代码编写过程中通常通过调用方法来执行新的 方法。类是一种数据类型,包括方法和属性。一个类可以包括多个方法。类的 继承关系为子类只能调用父类的属性和方法,父类不能调用子类。而且子类可 以添加父类中没有的方法和属性。
因为异常代码段中存在类的继承关系,从异常代码段中整理出异常代码段 的类的继承关系。又因为一个类可能调用多个方法,在整理关联代码中类的继 承关系后,对调用类下的方法调用关系进行整理。例如,异常代码段中调用了 父类的属性,但是调用了子类的方法,那么最终得到的异常代码是子类而不是 父类。异常代码段中存在多个方法之间的调用关系。确定异常代码关系链可以 通过获取异常代码段与关联代码段的方法名来实现。也可以根据异常代码段或 关联代码段的方法在异常代码段或关联代码段中的位置关系来确定调用关系。 例如,位于关联代码段前一行的方法被后一行的关联代码段的方法调用。
作为本申请实施例的一种实现方式,步骤S13包括:
基于所述异常堆栈信息中异常代码段的行数,在源代码中定位异常代码段; 其中,所述异常代码段为所述异常代码段的行数指示的源代码行中的代码;
提取所述异常代码段的类名与方法名,从所述源代码中定位关联代码段;
根据所述异常代码段与所述关联代码段确定异常代码关系链。
具体地,关联代码段为异常代码段继承的类或者调用方法的相关代码。提 取异常代码段的类名和方法名,可以顺理出异常代码段的类的继承关系和方法 的调用关系。并根据异常代码段继承的类名和调用的方法名从源代码中找到关 联代码段。并用同样的方法对关联代码段也顺理关联代码段的类的继承关系和 方法的调用关系,最终可以确定异常代码关系链。
作为实施例的一种实现方式,上述步骤基于所述异常堆栈信息中异常代码 段的行数,在源代码中定位异常代码段,包括:
基于所述异常堆栈信息中异常代码段的行数从所述源代码中确定至少一行 代码的代码行数;
在所述至少一行代码的代码行数中进行定位,将代码行数与所述异常代码 段的行数一致的代码行中的代码作为所述异常代码段。
具体地,因为异常堆栈信息中存在异常代码段的行数,所以根据异常代码 段行数在源代码中确定代码行数,又因为源代码的代码行数对应有代码内容, 所以根据异常代码段的行数可以从源代码中确定出异常代码段的具体代码内 容。在源代码中定位异常代码段还可以根据异常堆栈信息中异常代码段的包类 与异常代码段的方法名等从源代码中确定异常代码段的内容。
S14:按照所述异常代码关系链,从所述异常代码段与所述关联代码段中确 定出异常代码内容。
在步骤S14中,确定了异常代码段与关联代码段之间的异常代码关系链是 根据源代码中的异常代码段找到关联代码段,并根据异常代码关系链中可以找 到最终得到的导致异常的异常代码内容是不调用其他方法的最底层的代码。由 于接收到接口在测试过程返回的异常信息时,通过本实施例的方法定位到异常 代码内容,进而对异常代码内容进行分析,因此,无需在对源代码进行海量分 析,只需要整理出异常代码段的异常代码关系链就可以实时定位发生异常的代 码,定位异常代码的效率较高。
通过接收到被测接口在测试过程中返回的异常信息时,确定被测接口的接 口地址;因为被测接口为被测服务器的接口;所以基于异常信息与接口地址, 能够从被测服务器中远程查询被测接口的日志文件,得到与异常信息对应的异 常堆栈信息;又因为根据异常堆栈信息确定异常代码段的异常代码关系链,而 异常代码关系链用于描述异常代码段与关联代码段之间的关联范围;分析异常 代码段与关联代码段之间的继承与调用关系,所以按照异常代码关系链,从异 常代码段与关联代码段中确定出异常代码内容。提高了定位异常代码的效率。
作为本申请实施例的一种实现方式,步骤S14包括:
按照所述异常代码关系链,从所述异常代码段与所述关联代码段中确定无 调用关系的代码段作为底层代码段;
将所述底层代码段的内容与所述底层代码段的行数作为异常代码内容。
具体地,异常代码关系链是根据报错的异常代码段找到与异常代码段相关 联的关联代码段,从异常代码段与关联代码段中整理出调用与继承关系。而最 终要找到异常代码内容需要从异常代码关系链中找到最底层不被调用的代码 段,并且将底层代码段的内容与行数作为异常代码内容,查看异常代码内容是 否存在异常。
作为本申请实施例的一种实现方式,在步骤S14之后还可以包括:
根据所述异常代码内容生成异常通知,并将所述异常通知进行推送。
具体地,将异常代码内容作为通知消息推送给开发人员,开发人员根据对 异常代码进行修改。当确定异常代码内容后,可以基于异常代码内容生成异常 通知,以便基于异常通知对开发人员进行通知。其中,在生成异常通知时,可 以根据异常代码内容的原批注生成,也可以将异常代码内容整理成语言文字进 行推送。
相应于上面的方法实施例,本发明实施例还提供了一种异常代码定位装置, 如图2所示,该装置30可以包括以下模块:
确定模块31,用于当接收到被测接口在测试过程中返回的异常信息时,确 定所述被测接口的接口地址;所述被测接口为被测服务器的接口;
查询模块32,用于基于所述异常信息与所述接口地址,从所述被测服务器 中远程查询所述被测接口的日志文件,得到与所述异常信息对应的异常堆栈信 息;
关系模块33,用于根据所述异常堆栈信息确定异常代码段的异常代码关系 链,所述异常代码关系链用于描述所述异常代码段与关联代码段之间的关联范 围;
异常模块34,用于按照所述异常代码关系链,从所述异常代码段与所述关 联代码段中确定出异常代码内容。
应当理解的是,图2示出的异常代码定位装置的结构框图中,各模块用于 执行图1对应的实施例中的各步骤,而对于图1对应的实施例中的各步骤已在 上述实施例中进行详细解释,具体请参阅图1所对应的实施例中的相关描述, 此处不再赘述。
图3是本申请一实施例提供的一种计算机设备的结构框图。如图3所示, 该实施例的计算机设备40包括:处理器41、存储器42以及存储在所述存储器 42中并可在所述处理器41上运行的计算机程序43,例如异常代码定位方法的 程序。处理器41执行所述计算机程序43时实现上述各个异常代码定位方法各 实施例中的步骤,例如图1所示的S11至S14。或者,所述处理器41执行所述 计算机程序43时实现上述图2对应的实施例中各模块的功能,例如,图2所示 的模块31至34的功能,具体请参阅图2对应的实施例中的相关描述,此处不 赘述。
示例性的,所述计算机程序43可以被分割成一个或多个模块,所述一个或 者多个模块被存储在所述存储器42中,并由所述处理器41执行,以完成本申 请。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段, 该指令段用于描述所述计算机程序43在所述计算机设备40中的执行过程。
转台设备可包括,但不仅限于,处理器41、存储器42。本领域技术人员可 以理解,图3仅仅是计算机设备40的示例,并不构成对计算机设备40的限定, 可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例 如所述转台设备还可以包括输入输出设备、网络接入设备、总线等。
所称处理器41可以是中央处理单元(Central Processing Unit,CPU), 还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、 专用集成电路(Application Specific Integrated Circuit,ASIC)、现成 可编程门阵列(Field-12Programmable Gate Array,FPGA)或者其他可编程 逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是 微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器42可以是所述计算机设备40的内部存储单元,例如计算机设 备40的硬盘或内存。所述存储器42也可以是所述计算机设备40的外部存储设 备,例如所述计算机设备40上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)等。 进一步地,所述存储器42还可以既包括所述计算机设备40的内部存储单元也 包括外部存储设备。所述存储器42用于存储所述计算机程序以及所述转台设备 所需的其他程序和数据。所述存储器42还可以用于暂时地存储已经输出或者将 要输出的数据。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程 序,计算机程序被处理器执行时实现上述实施例中异常代码定位方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于 一计算机可读存储介质中,该计算机程序在执行时,可包括如上述各方法的实 施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数 据库或其它计算机可读存储介质的任何引用,均可包括非易失性和/或易失性存 储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可 编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可 包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM 以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、 双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线 动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照 前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特 征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申 请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (10)

1.一种异常代码定位方法,其特征在于,包括:
当接收到被测接口在测试过程中返回的异常信息时,确定所述被测接口的接口地址;所述被测接口为被测服务器的接口;
基于所述异常信息与所述接口地址,从所述被测服务器中远程查询所述被测接口的日志文件,得到与所述异常信息对应的异常堆栈信息;
根据所述异常堆栈信息确定异常代码段的异常代码关系链,其中,所述异常代码关系链用于描述所述异常代码段与关联代码段之间的关联范围;
按照所述异常代码关系链,从所述异常代码段与所述关联代码段中确定出异常代码内容。
2.根据权利要求1所述的方法,其特征在于,所述当接收到被测接口在测试过程中返回的异常信息时,确定所述被测接口的接口地址,包括:
向被测服务器发送用于调用被测接口的请求,以接收所述被测服务器根据所述请求返回的测试信息;
当所述测试信息中存在预先设置的异常信息时,确定所述被测接口的接口地址。
3.根据权利要求1所述的方法,其特征在于,所述基于所述异常信息与所述接口地址,从所述被测服务器中远程查询所述被测接口的日志文件,得到与所述异常信息对应的异常堆栈信息,包括:
获取所述被测服务器的登录权限;
基于所述登录权限登录所述接口地址,并查询所述被测接口对应的日志文件;
根据所述异常信息在所述日志文件上进行定位,得到与所述异常信息对应的异常堆栈信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述异常堆栈信息确定异常代码段的异常代码关系链,包括:
基于所述异常堆栈信息中异常代码段的行数,在源代码中定位异常代码段;其中,所述异常代码段为所述异常代码段的行数指示的源代码行中的代码;
提取所述异常代码段的类名与方法名,从所述源代码中定位关联代码段;
根据所述异常代码段与所述关联代码段确定异常代码关系链。
5.根据权利要求4所述的方法,其特征在于,所述基于所述异常堆栈信息中异常代码段的行数,在源代码中定位异常代码段,包括:
基于所述异常堆栈信息中异常代码段的行数从所述源代码中确定至少一行代码的代码行数;
在所述至少一行代码的代码行数中进行定位,将代码行数与所述异常代码段的行数一致的代码行中的代码作为所述异常代码段。
6.根据权利要求1所述的方法,其特征在于,所述按照所述异常代码关系链,从所述异常代码段与所述关联代码段中确定出异常代码内容,包括:
按照所述异常代码关系链,从所述异常代码段与所述关联代码段中确定无调用关系的代码段作为底层代码段;
将所述底层代码段的内容与所述底层代码段的行数作为异常代码内容。
7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:
根据所述异常代码内容生成异常通知,并将所述异常通知进行推送。
8.一种异常代码定位装置,其特征在于,包括:
确定模块,用于当接收到被测接口在测试过程中返回的异常信息时,确定所述被测接口的接口地址;所述被测接口为被测服务器的接口;
查询模块,用于基于所述异常信息与所述接口地址,从所述被测服务器中远程查询所述被测接口的日志文件,得到与所述异常信息对应的异常堆栈信息;
关系模块,用于根据所述异常堆栈信息确定异常代码段的异常代码关系链,所述异常代码关系链用于描述所述异常代码段与关联代码段之间的关联范围;
异常模块,用于按照所述异常代码关系链,从所述异常代码段与所述关联代码段中确定出异常代码内容。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述方法的步骤。
CN202111354968.0A 2021-11-16 2021-11-16 异常代码定位方法、装置、设备及介质 Pending CN114528201A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111354968.0A CN114528201A (zh) 2021-11-16 2021-11-16 异常代码定位方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111354968.0A CN114528201A (zh) 2021-11-16 2021-11-16 异常代码定位方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN114528201A true CN114528201A (zh) 2022-05-24

Family

ID=81619061

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111354968.0A Pending CN114528201A (zh) 2021-11-16 2021-11-16 异常代码定位方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN114528201A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880247A (zh) * 2022-07-04 2022-08-09 成都行远捷科技有限公司 分布式条件下基于日志引导***的bug分析方法
CN116126735A (zh) * 2023-04-13 2023-05-16 紫光同芯微电子有限公司 一种代码异常处理方法、装置、设备及存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114880247A (zh) * 2022-07-04 2022-08-09 成都行远捷科技有限公司 分布式条件下基于日志引导***的bug分析方法
CN116126735A (zh) * 2023-04-13 2023-05-16 紫光同芯微电子有限公司 一种代码异常处理方法、装置、设备及存储介质
CN116126735B (zh) * 2023-04-13 2023-08-15 紫光同芯微电子有限公司 一种代码异常处理方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN111240994B (zh) 漏洞处理方法、装置、电子设备及可读存储介质
CN109446068B (zh) 接口测试方法、装置、计算机设备和存储介质
US9990501B2 (en) Diagnosing and tracking product vulnerabilities for telecommunication devices via a database
CN109032824A (zh) 数据库校验方法、装置、计算机设备和存储介质
CN108628748B (zh) 自动化测试管理方法和自动化测试管理***
CN110569035A (zh) 软件开发项目的代码编译方法、装置、设备和存储介质
CN114528201A (zh) 异常代码定位方法、装置、设备及介质
US9513997B2 (en) Test data management
CN111552632B (zh) 一种接口测试方法及装置
CN109542764B (zh) 网页自动化测试方法、装置、计算机设备和存储介质
CN111782456B (zh) 异常检测方法、装置、计算机设备和存储介质
CN112650688A (zh) 自动化回归测试方法、关联设备以及计算机程序产品
CN111666205A (zh) 一种数据审计的方法、***、计算机设备和存储介质
CN112866319B (zh) 日志数据处理方法、***和存储介质
CN111597069A (zh) 程序处理方法、装置、电子设备和存储介质
CN108650123B (zh) 故障信息记录方法、装置、设备和存储介质
CN114816993A (zh) 一种全链路接口测试方法、***、介质及电子设备
CN111522881B (zh) 业务数据处理方法、装置、服务器及存储介质
CN112612706A (zh) 自动化测试方法、计算机设备及存储介质
CN116599881A (zh) 云平台租户建模测试的方法、装置、设备及存储介质
CN113259154B (zh) 中台数据校验通知方法、装置、计算机设备和存储介质
CN115269424A (zh) 生产流量的自动回归测试方法、装置、设备及存储介质
CN110618943B (zh) 安防服务测试方法、装置、电子设备及可读存储介质
CN114500249A (zh) 一种根因定位方法和装置
CN112035471A (zh) 一种事务处理方法及计算机设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination