一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

异常代码定位方法、装置、设备及存储介质与流程

2022-11-13 13:49:49 来源:中国专利 TAG:


1.本发明涉及计算机技术领域,尤其涉及一种异常代码定位方法、装置、设备及存储介质。


背景技术:

2.现有技术中的项目在开发过程中,往往会出现许多bug,有些会导致结果与预期不一致,而有些可能会直接出现报错,而一般情况下,测试人员提交bug或缺陷给开发人员时,仅仅能给出输入的参数以及前台界面返回的界面图,开发人员需要自行使用测试人员提交的输入参数重新尝试复现bug,但是此过程耗时耗力,效率极低。因此,如何高效的进行异常代码定位成为了亟待解决的技术问题。
3.上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。


技术实现要素:

4.本发明的主要目的在于提供了一种异常代码定位方法、装置、设备及存储介质,旨在解决现有技术异常代码定位需要开发人员手动定位,导致开发效率低的技术问题。
5.为实现上述目的,本发明提供了一种异常代码定位方法,所述方法包括以下步骤:
6.根据bug提交请求确定测试参数和待测试接口;
7.根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息;
8.根据所述代码运行信息确定目标异常代码的位置。
9.可选地,所述根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息的步骤,包括:
10.通过预设项目接口映射表确定所述待测试接口对应的目标项目;
11.根据所述目标项目确定所述待测试接口对应的目标代码;
12.根据所述测试参数在调试模式下运行所述目标代码,并记录代码运行信息。
13.可选地,所述根据所述目标项目确定所述待测试接口对应的目标代码的步骤,包括:
14.确定所述目标项目的项目类型;
15.根据所述项目类型确定接口代码特征;
16.根据所述接口代码特征确定所述待测试接口对应的目标代码。
17.可选地,所述根据所述接口代码特征确定所述待测试接口对应的目标代码的步骤,包括:
18.根据所述接口代码特征对所述待测试接口进行接口代码补全,获得待匹配目标文本;
19.根据所述待匹配目标文本在所述目标项目中进行查询,获得查询结果;
20.根据所述查询结果确定所述待测试接口对应的目标代码。
21.可选地,所述根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息的步骤,包括:
22.确定所述目标代码所处的文件信息和行号;
23.根据所述文件信息和所述行号在所述目标代码的预设位置处设置断点;
24.在调试模式下启动所述目标项目,并通过所述测试参数运行所述目标代码,并记录代码运行信息。
25.可选地,所述在调试模式下启动所述目标项目,并通过所述测试参数运行所述目标代码,并记录代码运行信息的步骤,包括:
26.在调试模式下启动所述目标项目;
27.根据所述测试参数生成模拟请求;
28.基于所述模拟请求运行所述目标代码,并记录代码运行信息。
29.可选地,所述根据bug提交请求确定测试参数和待测试接口的步骤之前,还包括:
30.在检测到程序报错时,获取当前的报错信息;
31.根据所述报错信息确定请求参数和请求接口标识;
32.根据所述请求参数和所述请求接口标识生成bug提交请求。
33.可选地,所述通过预设项目接口映射表确定所述待测试接口对应的目标项目的步骤之前,还包括:
34.遍历待检测项目中的代码信息;
35.根据所述代码信息和所述待检测项目生成预设项目接口映射表。
36.可选地,所述根据所述代码信息和所述待检测项目生成预设项目接口映射表的步骤之后,还包括:
37.检测待检测项目是否更新;
38.在检测到所述待检测项目更新时,返回执行所述遍历待检测项目中的代码信息,根据所述代码信息和所述待检测项目生成预设项目接口映射表的步骤。
39.可选地,所述根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息的步骤,包括:
40.根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,记录代码运行过程中各接口变量信息和代码运行信息;
41.根据所述接口变量信息和所述代码运行信息确定代码运行信息。
42.可选地,所述根据所述代码运行信息确定目标异常代码的位置的步骤之后,包括:
43.通过预设显示颜色标记所述目标异常代码;
44.根据所述代码运行信息确定接口变量信息;
45.根据所述接口变量信息将各个接口变量的变量值悬浮显示在接口变量上方。
46.此外,为实现上述目的,本发明还提供一种异常代码定位装置,所述装置包括:
47.确定模块,用于根据bug提交请求确定测试参数和待测试接口;
48.运行模块,用于根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息;
49.目标异常代码定位模块,用于根据所述代码运行信息确定目标异常代码的位置。
50.可选地,所述运行模块,还用于通过预设项目接口映射表确定所述待测试接口对应的目标项目;
51.根据所述目标项目确定所述待测试接口对应的目标代码;
52.根据所述测试参数在调试模式下运行所述目标代码,并记录代码运行信息。
53.可选地,所述运行模块,还用于确定所述目标项目的项目类型;
54.根据所述项目类型确定接口代码特征;
55.根据所述接口代码特征确定所述待测试接口对应的目标代码。
56.可选地,所述运行模块,还用于根据所述接口代码特征对所述待测试接口进行接口代码补全,获得待匹配目标文本;
57.根据所述待匹配目标文本在所述目标项目中进行查询,获得查询结果;
58.根据所述查询结果确定所述待测试接口对应的目标代码。
59.可选地,所述运行模块,还用于确定所述目标代码所处的文件信息和行号;
60.根据所述文件信息和所述行号在所述目标代码的预设位置处设置断点;
61.在调试模式下启动所述目标项目,并通过所述测试参数运行所述目标代码,并记录代码运行信息。
62.可选地,所述运行模块,还用于在调试模式下启动所述目标项目;
63.根据所述测试参数生成模拟请求;
64.基于所述模拟请求运行所述目标代码,并记录代码运行信息。
65.可选地,所述确定模块,还用于在检测到程序报错时,获取当前的报错信息;
66.根据所述报错信息确定请求参数和请求接口标识;
67.根据所述请求参数和所述请求接口标识生成bug提交请求。
68.可选地,所述运行模块,还用于遍历待检测项目中的代码信息;
69.根据所述代码信息和所述待检测项目生成预设项目接口映射表。
70.可选地,所述运行模块,还用于检测待检测项目是否更新;
71.在检测到所述待检测项目更新时,返回执行所述遍历待检测项目中的代码信息,根据所述代码信息和所述待检测项目生成预设项目接口映射表的步骤。
72.可选地,所述运行模块,还用于根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,记录代码运行过程中各接口变量信息和代码运行信息;
73.根据所述接口变量信息和所述代码运行信息确定代码运行信息。
74.可选地,所述目标异常代码定位模块,还用于通过预设显示颜色标记所述目标异常代码;
75.根据所述代码运行信息确定接口变量信息;
76.根据所述接口变量信息将各个接口变量的变量值悬浮显示在接口变量上方。
77.此外,为实现上述目的,本发明还提出一种异常代码定位设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的异常代码定位程序,所述异常代码定位程序配置为实现如上文所述的异常代码定位方法的步骤。
78.此外,为实现上述目的,本发明还提出一种存储介质,所述存储介质上存储有异常代码定位程序,所述异常代码定位程序被处理器执行时实现如上文所述的异常代码定位方法的步骤。
79.本发明根据bug提交请求确定测试参数和待测试接口;根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息;根据所述代码运行信息确定目标异常代码的位置。由于本发明是根据bug提交请求中的测试参数在调试模式下运行待测试接口对应的目标代码,并记录代码运行信息;根据代码运行信息确定目标异常代码的位置。相对于现有的依赖开发人员手动复现bug进而确定目标异常代码的方式,本发明上述方式能够提高开发效率。
附图说明
80.图1是本发明实施例方案涉及的硬件运行环境的异常代码定位设备的结构示意图;
81.图2为本发明异常代码定位方法第一实施例的流程示意图;
82.图3为本发明异常代码定位方法第二实施例的流程示意图;
83.图4为本发明异常代码定位方法第三实施例的流程示意图;
84.图5为本发明异常代码定位装置第一实施例的结构框图。
85.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
86.应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
87.参照图1,图1为本发明实施例方案涉及的硬件运行环境的异常代码定位设备结构示意图。
88.如图1所示,该异常代码定位设备可以包括:处理器1001,例如中央处理器(central processing unit,cpu),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(wireless-fidelity,wi-fi)接口)。存储器1005可以是高速的随机存取存储器(random access memory,ram),也可以是稳定的非易失性存储器(non-volatile memory,nvm),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
89.本领域技术人员可以理解,图1中示出的结构并不构成对异常代码定位设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
90.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及异常代码定位程序。
91.在图1所示的异常代码定位设备中,网络接口1004主要用于与网络服务器进行数据通信;用户接口1003主要用于与用户进行数据交互;本发明异常代码定位设备中的处理器1001、存储器1005可以设置在异常代码定位设备中,所述异常代码定位设备通过处理器1001调用存储器1005中存储的异常代码定位程序,并执行本发明实施例提供的异常代码定位方法。
92.基于上述异常代码定位设备,本发明实施例提供了一种异常代码定位方法,参照图2,图2为本发明异常代码定位方法第一实施例的流程示意图。
93.本实施例中,所述异常代码定位方法包括以下步骤:
94.步骤s10:根据bug提交请求确定测试参数和待测试接口。
95.需要说明的是,本实施例的执行主体可以是一种具有数据处理、网络通信以及程序运行功能的计算服务设备,例如手机、平板电脑、个人电脑等,或者是一种能够实现上述功能的电子设备或代码定位程序。以下以所述代码定位程序为例,对本实施例及下述各实施例进行说明。
96.需要说明的是,所述bug提交请求可以是根据项目运行过程中产生的bug生成的包括bug信息的请求。所述测试参数可以是在发现所述bug时,输入的参数信息,所述待测试接口可以是所述bug提交请求对应的接口路径信息。例如,当对表单进行修改后,点击提交按钮出现报错信息,则表单修改的提交接口即为待测试接口,对表单进行修改的内容即为测试参数。
97.进一步的,为了提高异常代码的定位效率,所述步骤s10之前,还包括:在检测到程序报错时,获取当前的报错信息;根据所述报错信息确定请求参数和请求接口标识;根据所述请求参数和所述请求接口标识生成bug提交请求。
98.需要说明的是,所述报错信息可以包括当前出现异常的请求信息,包括请求的路径、请求的参数、故障码等信息。所述请求参数可以是所述报错信息中的输入参数,在异常代码定位时,将其作为测试参数。所述请求接口标识可以是请求接口对应的标识,可根据所述请求接口标识确定请求接口,即待测试接口。
99.步骤s20:根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息。
100.需要说明的是,所述调试模式可以是debug模式,是供程序员使用的程序调试工具,可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。在调试模式中,可通过设置断点查看每一行运行中的代码的运行信息,进而判断代码或变量是否异常。所述目标代码可以是待测试接口对应的代码。
101.进一步的,为了提高代码的开发效率,所述步骤s20,可包括:根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,记录代码运行过程中各接口变量信息和代码运行信息;根据所述接口变量信息和所述代码运行信息确定代码运行信息。
102.需要说明的是,所述接口变量信息可以是所述目标代码中各个变量的变量值。所述代码运行信息可以包括所述目标代码中,每一行代码是否异常以及异常代码的异常信息。所述异常信息可包括缺少必要符号、变量未定义、数据库读写失败等信息。
103.步骤s30:根据所述代码运行信息确定目标异常代码的位置。
104.需要说明的是,所述根据所述代码运行信息确定目标异常代码的位置可以是根据所述代码运行信息判断运行中出现异常的代码,将运行中存在异常的代码作为目标异常代码,并记录其位置。
105.进一步的,为了使开发人员更加直观的定位目标异常代码,提高代码的开发效率,所述步骤s30之后,还包括:通过预设显示颜色标记所述目标异常代码;根据所述代码运行信息确定接口变量信息;根据所述接口变量信息将各个接口变量的变量值悬浮显示在接口变量上方。
106.需要说明的是,所述预设显示颜色可以是预先设置的颜色标识,可对不同类型的
异常用不同颜色进行标记,所述接口变量信息可以是所述目标代码中的变量对应的变量值。所述根据所述接口变量信息将各个接口变量的变量值悬浮显示在接口变量上方可以是获取目标代码中各个变量的变量值,将其以悬浮的形式展示在对应的变量上方,以更直观的向开发人员展示异常的代码中各个变量的值,提高代码的开发效率。
107.本实施例根据bug提交请求确定测试参数和待测试接口;根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息;根据所述代码运行信息确定目标异常代码的位置。由于本实施例是根据bug提交请求中的测试参数在调试模式下运行待测试接口对应的目标代码,并记录代码运行信息;根据代码运行信息确定目标异常代码的位置。相对于现有的依赖开发人员手动复现bug进而确定目标异常代码的方式,本实施例上述方式能够提高开发效率。
108.参考图3,图3为本发明异常代码定位方法第二实施例的流程示意图。
109.基于上述第一实施例,在本实施例中,所述步骤s20包括:
110.步骤s201:通过预设项目接口映射表确定所述待测试接口对应的目标项目。
111.需要说明的是,所述预设项目接口映射表可以是预先生成的各个项目与其对应的接口的对照表,可通过查表,确定待测试接口对应的项目,即目标项目。
112.进一步的,为了快速的查找到待测试接口对应的目标项目,所述步骤s201之前,还包括:遍历待检测项目中的代码信息;根据所述代码信息和所述待检测项目生成预设项目接口映射表。
113.需要说明的是,所述待检测项目可以是能够通过所述代码定位程序进行异常代码定位的项目。所述代码信息可以是所述待检测项目包含的全部代码。所述根据所述代码信息和所述待检测项目生成预设项目接口映射表可以是遍历待检测项目中的代码信息,将遍历代码信息时获得的接口与所述待检测项目进行绑定,进而得到各个待检测项目与其对应的接口的预设项目接口映射表。
114.进一步的,代码开发过程中,开发人员经常需要对代码进行更新、修改,为了避免代码更改后,无法根据预设项目接口映射表查找到待测试接口对应的目标项目,所述根据所述代码信息和所述待检测项目生成预设项目接口映射表的步骤之后,还包括:检测待检测项目是否更新;在检测到所述待检测项目更新时,返回执行所述遍历待检测项目中的代码信息,根据所述代码信息和所述待检测项目生成预设项目接口映射表的步骤。
115.步骤s202:根据所述目标项目确定所述待测试接口对应的目标代码。
116.需要说明的是,所述根据所述目标项目确定所述待测试接口对应的目标代码可以是根据所述待测试接口在所述目标项目中查询所述待测试接口对应的目标代码。
117.步骤s203:根据所述测试参数在调试模式下运行所述目标代码,并记录代码运行信息。
118.需要说明的是,所述根据所述测试参数在调试模式下运行所述目标代码,并记录代码运行信息可以是在目标代码处设置断点,然后启动目标项目,根据测试参数运行所述目标代码,并记录代码的运行信息。
119.进一步的,为了提高代码的开发效率,所述步骤s203,可包括:确定所述目标代码所处的文件信息和行号;根据所述文件信息和所述行号在所述目标代码的预设位置处设置断点;在调试模式下启动所述目标项目,并通过所述测试参数运行所述目标代码,并记录代
码运行信息。
120.需要说明的是,所述文件信息可以是所述目标代码对应的文件的路径,可根据所述文件信息找到目标代码所在的文件,所述行号可以是所述目标代码在其对应的文件中的行数。所述预设位置处可以是所述目标代码的第一行。根据所述文件信息和所述行号在所述目标代码的预设位置处设置断点可以是在所述目标代码的第一行设置断点。所述通过所述测试参数运行所述目标代码,并记录代码运行信息可以是在调试模式下启动所述目标项目,根据所述测试参数生成模拟请求,基于所述模拟请求运行所述目标代码,并记录代码运行信息。所述模拟请求可以是包括所述测试参数的请求,用于根据所述测试参数运行所述目标代码,进而获取目标代码的运行信息。
121.本实施例通过预设项目接口映射表确定所述待测试接口对应的目标项目;根据所述目标项目确定所述待测试接口对应的目标代码;根据所述测试参数在调试模式下运行所述目标代码,并记录代码运行信息。本实施例根据测试参数在调试模式下运行目标代码,并记录代码运行信息。能够自动生成bug请求中的bug对应的代码异常信息,提高开发人员的开发效率。
122.参考图4,图4为本发明异常代码定位方法第三实施例的流程示意图。
123.基于上述各实施例,在本实施例中,所述步骤s202,包括:
124.步骤s2021:确定所述目标项目的项目类型。
125.需要说明的是,所述项目类型可以是目标项目所用的开发代码的类型和框架。
126.步骤s2022:根据所述项目类型确定接口代码特征。
127.需要说明的是,所述接口代码特征可以是在定义接口时用到的代码特征,例如,在java的springmvc框架中,定义接口使可以采用的接口代码特征可以是@requestmapping、@getmapping以及@postmapping等。所述根据所述项目类型确定接口代码特征可以是根据所述目标项目所用的开发代码的类型和框架确定接口代码特征。例如,当项目类型为python的django框架时,接口代码特征可以是path('xxx',*),当项目类型为python的flask框架时,接口代码特征可以是@app.route(xxx',methods=['get'])或者是@app.route('xxx',methods=['post'])。
[0128]
步骤s2023:根据所述接口代码特征确定所述待测试接口对应的目标代码。
[0129]
需要说明的是,所述根据所述接口代码特征确定所述待测试接口对应的目标代码可以是根据所述接口代码特征和所述待测试接口生成匹配字符串,根据所述匹配字符串在目标项目中进行查找,查找所述匹配字符串在目标项目中的位置,即目标代码的位置。所述匹配字符串可以是对所述接口代码特征和所述待测试接口进行拼接形成的接口定义时的代码文本。例如,待测试接口为/aaa/bbb/ccc时,所述接口代码特征为@requestmapping时,匹配字符串可以是@requestmapping("/aaa/bbb/ccc")。在目标项目中查找匹配字符串@requestmapping("/aaa/bbb/ccc")出现的位置,即为目标代码的位置。
[0130]
进一步的,为了确定待测试接口对应的目标代码的位置,所述步骤s2023,可包括根据所述接口代码特征对所述待测试接口进行接口代码补全,获得待匹配目标文本;根据所述待匹配目标文本在所述目标项目中进行查询,获得查询结果;根据所述查询结果确定所述待测试接口对应的目标代码。
[0131]
需要说明的是,所述根据所述接口代码特征对所述待测试接口进行接口代码补全
可以是将所述待测试接口代入至所述接口代码特征,得到待匹配目标文本,所述待匹配目标文本可以是目标项目中定义接口时的代码。例如,待测试接口为index/时,所述接口代码特征为path('xxx',*),得到的待匹配目标文本为path('index/',*),根据所述待匹配目标文本在目标项目中进行查找,获得查找结果,查找结果中待匹配目标文本出现的位置,即为目标代码的位置。
[0132]
本实施例确定所述目标项目的项目类型;根据所述项目类型确定接口代码特征;根据所述接口代码特征对所述待测试接口进行接口代码补全,获得待匹配目标文本;根据所述待匹配目标文本在所述目标项目中进行查询,获得查询结果;根据所述查询结果确定所述待测试接口对应的目标代码。本实施例根据项目的类型确定接口代码特征,根据所述接口代码特征和所述待测试接口生成匹配字符串,进而根据匹配字符串在目标项目中查找确定目标代码的位置,能够快速的定位待测试接口对应的代码位置,进而提高开发效率。
[0133]
参照图5,图5为本发明异常代码定位装置第一实施例的结构框图。
[0134]
如图5所示,本发明实施例提出的异常代码定位装置包括:
[0135]
确定模块10,用于根据bug提交请求确定测试参数和待测试接口;
[0136]
运行模块20,用于根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息;
[0137]
目标异常代码定位模块30,用于根据所述代码运行信息确定目标异常代码的位置。
[0138]
本实施例根据bug提交请求确定测试参数和待测试接口;根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息;根据所述代码运行信息确定目标异常代码的位置。由于本实施例是根据bug提交请求中的测试参数在调试模式下运行待测试接口对应的目标代码,并记录代码运行信息;根据代码运行信息确定目标异常代码的位置。相对于现有的依赖开发人员手动复现bug进而确定目标异常代码的方式,本实施例上述方式能够提高开发效率。
[0139]
需要说明的是,以上所描述的工作流程仅仅是示意性的,并不对本发明的保护范围构成限定,在实际应用中,本领域的技术人员可以根据实际的需要选择其中的部分或者全部来实现本实施例方案的目的,此处不做限制。
[0140]
另外,未在本实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的异常代码定位方法,此处不再赘述。
[0141]
基于本发明上述异常代码定位装置第一实施例,提出本发明异常代码定位装置的第二实施例。
[0142]
在本实施例中,所述运行模块20,还用于通过预设项目接口映射表确定所述待测试接口对应的目标项目;
[0143]
根据所述目标项目确定所述待测试接口对应的目标代码;
[0144]
根据所述测试参数在调试模式下运行所述目标代码,并记录代码运行信息。
[0145]
进一步的,所述运行模块20,还用于确定所述目标项目的项目类型;
[0146]
根据所述项目类型确定接口代码特征;
[0147]
根据所述接口代码特征确定所述待测试接口对应的目标代码。
[0148]
进一步的,所述运行模块20,还用于根据所述接口代码特征对所述待测试接口进
行接口代码补全,获得待匹配目标文本;
[0149]
根据所述待匹配目标文本在所述目标项目中进行查询,获得查询结果;
[0150]
根据所述查询结果确定所述待测试接口对应的目标代码。
[0151]
进一步的,所述运行模块20,还用于确定所述目标代码所处的文件信息和行号;
[0152]
根据所述文件信息和所述行号在所述目标代码的预设位置处设置断点;
[0153]
在调试模式下启动所述目标项目,并通过所述测试参数运行所述目标代码,并记录代码运行信息。
[0154]
进一步的,所述运行模块20,还用于在调试模式下启动所述目标项目;
[0155]
根据所述测试参数生成模拟请求;
[0156]
基于所述模拟请求运行所述目标代码,并记录代码运行信息。
[0157]
进一步的,所述确定模块10,还用于在检测到程序报错时,获取当前的报错信息;
[0158]
根据所述报错信息确定请求参数和请求接口标识;
[0159]
根据所述请求参数和所述请求接口标识生成bug提交请求。
[0160]
进一步的,所述运行模块20,还用于遍历待检测项目中的代码信息;
[0161]
根据所述代码信息和所述待检测项目生成预设项目接口映射表。
[0162]
进一步的,所述运行模块20,还用于检测待检测项目是否更新;
[0163]
在检测到所述待检测项目更新时,返回执行所述遍历待检测项目中的代码信息,根据所述代码信息和所述待检测项目生成预设项目接口映射表的步骤。
[0164]
进一步的,所述运行模块20,还用于根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,记录代码运行过程中各接口变量信息和代码运行信息;
[0165]
根据所述接口变量信息和所述代码运行信息确定代码运行信息。
[0166]
进一步的,所述目标异常代码定位模块30,还用于通过预设显示颜色标记所述目标异常代码;
[0167]
根据所述代码运行信息确定接口变量信息;
[0168]
根据所述接口变量信息将各个接口变量的变量值悬浮显示在接口变量上方。
[0169]
本发明异常代码定位装置的其他实施例或具体实现方式可参照上述各方法实施例,此处不再赘述。
[0170]
此外,本发明实施例还提出一种存储介质,所述存储介质上存储有异常代码定位程序,所述异常代码定位程序被处理器执行时实现如上文所述的异常代码定位方法的步骤。
[0171]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0172]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0173]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如只读存储器/随机存取存储器、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0174]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
[0175]
本发明还公开了a1、一种异常代码定位方法,所述异常代码定位方法包括以下步骤:
[0176]
根据bug提交请求确定测试参数和待测试接口;
[0177]
根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息;
[0178]
根据所述代码运行信息确定目标异常代码的位置。
[0179]
a2、如a1所述的异常代码定位方法,所述根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息的步骤,包括:
[0180]
通过预设项目接口映射表确定所述待测试接口对应的目标项目;
[0181]
根据所述目标项目确定所述待测试接口对应的目标代码;
[0182]
根据所述测试参数在调试模式下运行所述目标代码,并记录代码运行信息。
[0183]
a3、如a2所述的异常代码定位方法,所述根据所述目标项目确定所述待测试接口对应的目标代码的步骤,包括:
[0184]
确定所述目标项目的项目类型;
[0185]
根据所述项目类型确定接口代码特征;
[0186]
根据所述接口代码特征确定所述待测试接口对应的目标代码。
[0187]
a4、如a3所述的异常代码定位方法,所述根据所述接口代码特征确定所述待测试接口对应的目标代码的步骤,包括:
[0188]
根据所述接口代码特征对所述待测试接口进行接口代码补全,获得待匹配目标文本;
[0189]
根据所述待匹配目标文本在所述目标项目中进行查询,获得查询结果;
[0190]
根据所述查询结果确定所述待测试接口对应的目标代码。
[0191]
a5、如a2所述的异常代码定位方法,所述根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息的步骤,包括:
[0192]
确定所述目标代码所处的文件信息和行号;
[0193]
根据所述文件信息和所述行号在所述目标代码的预设位置处设置断点;
[0194]
在调试模式下启动所述目标项目,并通过所述测试参数运行所述目标代码,并记录代码运行信息。
[0195]
a6、如a5所述的异常代码定位方法,所述在调试模式下启动所述目标项目,并通过所述测试参数运行所述目标代码,并记录代码运行信息的步骤,包括:
[0196]
在调试模式下启动所述目标项目;
[0197]
根据所述测试参数生成模拟请求;
[0198]
基于所述模拟请求运行所述目标代码,并记录代码运行信息。
[0199]
a7、如a1-a6任一项所述的异常代码定位方法,所述根据bug提交请求确定测试参数和待测试接口的步骤之前,还包括:
[0200]
在检测到程序报错时,获取当前的报错信息;
[0201]
根据所述报错信息确定请求参数和请求接口标识;
[0202]
根据所述请求参数和所述请求接口标识生成bug提交请求。
[0203]
a8、如a2所述的异常代码定位方法,所述通过预设项目接口映射表确定所述待测试接口对应的目标项目的步骤之前,还包括:
[0204]
遍历待检测项目中的代码信息;
[0205]
根据所述代码信息和所述待检测项目生成预设项目接口映射表。
[0206]
a9、如a8所述的异常代码定位方法,所述根据所述代码信息和所述待检测项目生成预设项目接口映射表的步骤之后,还包括:
[0207]
检测待检测项目是否更新;
[0208]
在检测到所述待检测项目更新时,返回执行所述遍历待检测项目中的代码信息,根据所述代码信息和所述待检测项目生成预设项目接口映射表的步骤。
[0209]
a10、如a1-a6任一项所述的异常代码定位方法,所述根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息的步骤,包括:
[0210]
根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,记录代码运行过程中各接口变量信息和代码运行信息;
[0211]
根据所述接口变量信息和所述代码运行信息确定代码运行信息。
[0212]
a11、如a1-a6任一项所述的异常代码定位方法,所述根据所述代码运行信息确定目标异常代码的位置的步骤之后,包括:
[0213]
通过预设显示颜色标记所述目标异常代码;
[0214]
根据所述代码运行信息确定接口变量信息;
[0215]
根据所述接口变量信息将各个接口变量的变量值悬浮显示在接口变量上方。
[0216]
本发明还公开了b12、一种异常代码定位装置,所述异常代码定位装置包括:
[0217]
确定模块,用于根据bug提交请求确定测试参数和待测试接口;
[0218]
运行模块,用于根据所述测试参数在调试模式下运行所述待测试接口对应的目标代码,并记录代码运行信息;
[0219]
目标异常代码定位模块,用于根据所述代码运行信息确定目标异常代码的位置。
[0220]
b13、如b12所述的异常代码定位装置,所述运行模块,还用于通过预设项目接口映射表确定所述待测试接口对应的目标项目;
[0221]
根据所述目标项目确定所述待测试接口对应的目标代码;
[0222]
根据所述测试参数在调试模式下运行所述目标代码,并记录代码运行信息。
[0223]
b14、如b13所述的异常代码定位装置,所述运行模块,还用于确定所述目标项目的项目类型;
[0224]
根据所述项目类型确定接口代码特征;
[0225]
根据所述接口代码特征确定所述待测试接口对应的目标代码。
[0226]
b15、如b14所述的异常代码定位装置,所述运行模块,还用于根据所述接口代码特征对所述待测试接口进行接口代码补全,获得待匹配目标文本;
[0227]
根据所述待匹配目标文本在所述目标项目中进行查询,获得查询结果;
[0228]
根据所述查询结果确定所述待测试接口对应的目标代码。
[0229]
b16、如b13所述的异常代码定位装置,所述运行模块,还用于确定所述目标代码所处的文件信息和行号;
[0230]
根据所述文件信息和所述行号在所述目标代码的预设位置处设置断点;
[0231]
在调试模式下启动所述目标项目,并通过所述测试参数运行所述目标代码,并记录代码运行信息。
[0232]
b17、如b16所述的异常代码定位装置,所述运行模块,还用于在调试模式下启动所述目标项目;
[0233]
根据所述测试参数生成模拟请求;
[0234]
基于所述模拟请求运行所述目标代码,并记录代码运行信息。
[0235]
b18、如b12-b17任一项所述的异常代码定位装置,所述确定模块,还用于在检测到程序报错时,获取当前的报错信息;
[0236]
根据所述报错信息确定请求参数和请求接口标识;
[0237]
根据所述请求参数和所述请求接口标识生成bug提交请求。
[0238]
本发明公开了c19、一种异常代码定位设备,所述设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的异常代码定位程序,所述异常代码定位程序配置为实现如a1至a11中任一项所述的异常代码定位方法的步骤。
[0239]
本发明公开了d20、一种存储介质,所述存储介质上存储有异常代码定位程序,所述异常代码定位程序被处理器执行时实现如a1至a11任一项所述的异常代码定位方法的步骤。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献