CN109726109A - 代码调试方法、装置、设备和计算机存储介质 - Google Patents
代码调试方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN109726109A CN109726109A CN201810567855.0A CN201810567855A CN109726109A CN 109726109 A CN109726109 A CN 109726109A CN 201810567855 A CN201810567855 A CN 201810567855A CN 109726109 A CN109726109 A CN 109726109A
- Authority
- CN
- China
- Prior art keywords
- debugged
- variable
- code
- source code
- debugging
- 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
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种代码调试方法,包括以下步骤:接收代码调试指令,根据所述代码调试指令中包含的代码标识确定代码调试指令关联的第一待调试源代码,并获取所述第一待调试源代码中包含的待测试变量;建立所述待测试变量与预设输入框的映射关系,并显示预设输入框,提示用户在所述预设输入框中输入变量数据;获取所述预设输入框中的变量数据,并根据所述映射关系确定所述变量数据对应的目标待测试变量;将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置;执行包含变量数据的所述第一待调试源代码,并输出调试结果。本发明还公开了一种代码调试装置、设备和计算机存储介质。本发明提高了代码的调试效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及代码调试方法、装置、设备和计算机存储介质。
背景技术
开发人员开发应用程序的源代码之后,调试人员需要对该源代码进行调试。
现有技术中,对应用程序的源代码的调试方法包括:获取应用程序中需要进行调试的待调试源代码;然后接收调试人员触发的调试指令;最后根据调试指令对应用程序的待调试源代码进行调试,即,在调试的过程中根据调试过程的数据值对应显示调试结果,现有的代码调试方案调试人员需要对源代码进行编辑,这样的调试方式存在明显的不足之处:1、调试方案在涉及到调试开关及设置配置参数等要求时,均要直接改动业务代码;2、需要将调试的代码进行上传等操作,时间消耗较长,代码调试的效率较低。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明提供代码调试方法、装置、设备和计算机存储介质,旨在提高代码调试效率。
为实现上述目的,本发明提供代码调试方法,所述代码调试方法包括以下步骤:
接收代码调试指令,根据所述代码调试指令中包含的代码标识确定代码调试指令关联的第一待调试源代码,并获取所述第一待调试源代码中包含的待测试变量;
建立所述待测试变量与预设输入框的映射关系,并显示预设输入框,以提示用户在所述预设输入框中输入变量数据;
获取所述预设输入框中的变量数据,并根据所述映射关系确定所述变量数据对应的目标待测试变量;
将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置;
执行包含所述变量数据的所述第一待调试源代码,并输出调试结果。
可选地,所述将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置的步骤,包括:
根据所述映射关系从所述第一待调试源代码中获取包含所述目标待测试变量的第二待调试源代码;
将所述变量数据输入至所述第二待调试源代码中所述目标待测试变量对应位置。
可选地,所述将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置的步骤之后,包括:
判断所述第一待调试源代码中是否包含至少两个所述目标待测试变量;
若所述第一待调试源代码中包含至少两个所述目标待测试变量,则判断所述第一待调试源代码的运行结果是否与至少两个所述目标待测试变量相关;
若所述第一待调试源代码的运行结果与至少两个所述目标待测试变量相关,则按预设控制变量策略对所述目标待测试变量对应的变量数据进行调整。
可选地,所述若所述第一待调试源代码的运行结果与至少两个所述目标待测试变量相关,则按预设控制变量策略对所述目标待测试变量对应的变量数据进行调整的步骤,包括:
若所述第一待调试源代码的运行结果与至少两个所述目标待测试变量相关,则获取至少两个所述目标待测试变量对应的各变量数据,从所述各变量数据中逐个选择基础变量数据;
按预设控制变量策略中的变量调整规则调整所述基础变量数据,并保持除所述基础变量数据之外其他各变量数据不变;
所述执行包含所述变量数据的所述第一待调试源代码,并输出调试结果的步骤包括:
执行包含所述变量数据的所述第一待调试源代码,逐个输出各所述目标待测试变量对应的运行结果;
根据所述运行结果确定所述第一待调试源代码的调试结果。
可选地,所述若所述第一待调试源代码中包含至少两个所述目标待测试变量,则判断所述第一待调试源代码的运行结果是否与至少两个所述目标待测试变量相关步骤之后,包括:
若所述第一待调试源代码的运行结果与一个所述目标待测试变量相关,则显示断点设置提示信息,以提示用户在所述第一待调试源代码中设置断点标识;
所述执行包含所述变量数据的所述待调试源代码,并输出调试结果的步骤,包括:
执行包含所述变量数据的所述第一待调试源代码,当执行到所述第一待调试源代码中各所述断点标识对应位置时,逐个输出各所述断点标识对应的调试结果。
可选地,所述执行包含所述变量数据的所述第一待调试源代码,并输出调试结果的步骤,包括:
执行包含所述变量数据的所述第一待调试源代码,获取第一待调试源代码的运行结果,将所述运行结果与预设标准运行结果进行比对;
若所述运行结果与预设标准运行结果匹配,则在所述预设显示窗口中显示所述第一待调试源代码的调试通过;
若所述运行结果与预设标准运行结果不匹配,则在所述预设显示窗口中显示所述第一待调试源代码的调试不通过。
可选地,所述执行包含所述变量数据的所述第一待调试源代码,并输出调试结果的步骤之后,包括:
将所述调试结果输入至云端存储器,以供用户从云端存储器中的获取调试结果。
此外,为实现上述目的,本发明还提供一种代码调试装置;
所述代码调试装置包括:
接收获取模块,用于接收代码调试指令,根据所述代码调试指令中包含的代码标识确定代码调试指令关联的第一待调试源代码,并获取所述第一待调试源代码中包含的待测试变量;
建立显示模块,用于建立所述待测试变量与预设输入框的映射关系,并显示预设输入框,以提示用户在所述预设输入框中输入变量数据;
获取确定模块,用于获取所述预设输入框中的变量数据,并根据所述映射关系确定所述变量数据对应的目标待测试变量;
数据输入模块,用于将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置;
执行输出模块,用于执行包含所述变量数据的所述第一待调试源代码,并输出调试结果。
此外,为实现上述目的,本发明还提供一种代码调试设备;
所述代码调试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:
所述计算机程序被所述处理器执行时实现如上所述的代码调试方法的步骤。
此外,为实现上述目的,本发明还提供计算机存储介质;
所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的代码调试方法的步骤。
本发明实施例提出的代码调试方法、装置、设备和计算机存储介质,具体地,通过服务器接收代码调试指令,根据所述代码调试指令中包含的代码标识确定代码调试指令关联的第一待调试源代码,并获取所述第一待调试源代码中包含的待测试变量;建立所述待测试变量与预设输入框的映射关系,并显示预设输入框,提示用户在所述预设输入框中输入变量数据;获取所述预设输入框中的变量数据,并根据所述映射关系确定所述变量数据对应的目标待测试变量;将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置;执行包含变量数据的所述第一待调试源代码,并输出调试结果。即,在源代码调试时设置代码调试的预设输入框,并建立预设输入框与待测试变量的映射关系,实现预设输入框与待调试代码中分离,代码调试人员可以不用直接修改业务代码,而将代码中涉及的变量数据输入预设输入框,根据预设输入框与待测试变量的映射关系,服务器自动获取用户的输入变量数据,执行并输出代码调试结果,不需要调试人员反复的进行代码的编辑,也不需要将代码进行上传,就可以实现连续的代码调试,代码调试人员只要在预设输入框在输入变量数据,就可以进行代码调试,提高了代码调试的效率,此外,代码调试人员进行连续的代码调试,使得代码调试人员的操作更加便捷。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图;
图2为本发明代码调试方法第一实施例的流程示意图;
图3为本发明代码调试方法第二实施例的流程示意图;
图4为本发明代码调试方法第三实施例的流程示意图;
图5为本发明代码调试装置一实施例的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
由于现有技术源代码调试时,是将源代码进行显示,代码调试人员直接在显示的源代码中变更待测试变量对应的变量数据,即,代码调试人员需要直接对调试的源代码进行编辑,例如,常规的前端调试方案在涉及到调试开关及设置配置参数等要求时,均要直接改动业务代码,在一个源代码调试完成后,代码调试人员还需要将源代码进行恢复,这样的代码调试方案,不便于代码调试人员连续地进行不同代码的调试,也不利于反映真实的联调情况。此外,现有的源代码调试方案在改动之后还需上传到指定的服务器,耗时耗力且不能保证质量。
本发明提供一种解决方案,通过服务器建立源代码中的待测试变量与预设输入框之间的映射关系,调试人员可以在预设输入框中输入待测试变量对应的变量数据,服务器将用户输入的变量数据对应到待调试源代码待测试变量对应位置,并执行包含所述变量数据的所述待调试源代码,并输出调试结果;这样的代码调试方案不需要调试人员进行设置调试模式,配置调试参数的步骤,使得源代码的调试效率变高。此外,调试人员不需要将源代码进行反复的上下线,代码调试人员可以在预设输入框中输入不同的变量数据,就可以实现代码的联动调整。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的服务器(又叫代码调试设备,其中,代码调试设备可以是由单独的代码调试装置构成,也可以是由其他装置与代码调试装置组合形成)结构示意图。
本发明实施例服务器指一个管理资源并为用户提供服务的计算机,通常分为文件服务器、数据库服务器和应用程序服务器。运行以上软件的计算机或计算机系统也被称为服务器。相对于普通PC(personal computer)个人计算机来说,服务器在稳定性、安全性、性能等方面都要求较高;如图1所示,该服务器可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),网络接口1004,用户接口1003,存储器1005,通信总线1002、芯片组、磁盘系统、网络等硬件等。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless-FIdelity,WIFI接口)。存储器1005可以是高速随机存取存储器(random access memory,RAM),也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,服务器还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块;输入单元,比显示屏,触摸屏;网络接口可选除无线接口中除WiFi外,蓝牙、探针、3G/4G/5G联网基站设备等等。本领域技术人员可以理解,图1中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,该计算机软件产品存储在一个存储介质(存储介质:又叫计算机存储介质、计算机介质、可读介质、可读存储介质、计算机可读存储介质或者直接叫介质等,如RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及计算机程序。
在图1所示的服务器中,网络接口1004主要用于连接后台数据库,与后台数据库进行数据通信;用户接口1003主要用于连接客户端(客户端,又叫用户端或终端,本发明实施例终端可以固定终端,也可以是移动终端,其中,固定终端如“物联网设备”、带联网功能的智能空调、智能电灯、智能电源等等;移动终端,如带联网功能的AR/VR设备,智能音箱、自动驾驶汽车、PC,智能手机、平板电脑、电子书阅读器、便携计算机等具有显示功能的终端设备,终端中包含传感器比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在移动终端移动到耳边时,关闭显示屏和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别移动终端姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;当然,移动终端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的计算机程序,并执行本发明以下实施例提供的代码调试方法中的步骤。
参照图2,本发明代码调试方法的第一实施例中,所述代码调试方法包括:
步骤S10,接收代码调试指令,根据所述代码调试指令中包含的代码标识确定代码调试指令关联的第一待调试源代码,并获取所述第一待调试源代码中包含的待测试变量。
用户触发代码调试指令,其中,本申请中的代码调试指令既可以是基于前端代码触发的,还可以是基于后端代码触发的,本实施例中以前端代码调试为例进行说明,服务器接收代码调试指令,服务器获取代码调试指令中包含的代码标识,即,用户的代码调试指令中包含待调试代码的代码标识,以根据代码标识确定代码调试指令关联的待调试源代码,例如,代码调试指令中包含11-19的代码标识,服务器可以将11行到19行的代码作为调试指令关联的待调试源代码;服务器获取待调试源代码中包含的待测试变量。即,服务器获取待调试源代码,并获取待调试源代码中各字符的数据类型标识信息,若待调试源代码中各字符的数据类型标识信息是变量标识,则将具有变量标识的字符作为待测试变量,例如,将源代码if(!Is NaN(num1))“num1”具有变量标识,则服务器确定“num1”为待测试变量。
步骤S20,建立所述待测试变量与预设输入框的映射关系,并显示预设输入框,以提示用户在所述预设输入框中输入变量数据。
服务器建立待测试变量与预设输入框的映射关系,并显示预设输入框,以提示用户在所述预设输入框中输入变量数据;服务器将待测试变量与预设输入框进行映射,调试人员进行源代码调试时,代码调试人员只需要在预设输入框中输入待测试变量对应的变量数量,需要说明的是:服务器中获取到的待调试源代码中可能包含一个或者多个待测试变量,本实施例中以待调试源代码中可能包含一个待测试变量为例进行说明。
步骤S30,获取所述预设输入框中的变量数据,并根据所述映射关系确定所述变量数据对应的目标待测试变量。
服务器获取预设输入框中的变量数据,服务器根据映射关系,将预设输入框中的变量数据作为与预设输入框对应的待测试变量的当前数据,例如,待测试变量为“num1”服务器将“num1”与预设输入框之间建立映射关系,用户在预设输入框中输入“123”,则服务器根据关联关系将用户在预设输入框为目标待测试变量进行赋值,即,服务器预设输入框中的“123”作为目标待测试变量“num1”的变量数据。
步骤S40,将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置。
服务器根据映射关系确定包含所述待测试变量的第二待调试源代码,并将所述变量数据输入至第二待调试源代码中所述目标待测试变量对应位置,以完成变量赋值过程,需要说明的是,第一待调试源代码可能包含多行待调试代码,有的待调试代码中包含待测试变量,有的待调试源代码中不包含待测试变量,因此为了避免产生歧义,故将包含的待测试变量的待调试源代码叫为第二待调试源代码。本实施例中,将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置,即,服务器实现了将变量数据赋值给待测试变量的过程。
步骤S50,执行包含所述变量数据的所述第一待调试源代码,并输出调试结果。
在服务器检测到变量数据输入至待测试变量对应位置时,服务器执行包含所述变量数据的所述待调试源代码,得到待调试源代码的运行结果,服务器将待调试源代码的运行结果与预设标准运行结果进行比对;其中,预设标准运行结果是指代码开发人员预先设置的源代码正常运行使得到的运行结果。
若所述运行结果与预设标准运行结果匹配,则在所述预设显示窗口中显示所述待调试源代码的调试通过;若所述运行结果与预设标准运行结果不匹配,则在所述预设显示窗口中显示所述待调试源代码的调试不通过。
其中,运行结果与预设标准运行结果是否匹配的匹配标准可以根据具体情况设置,例如,运行结果与预设标准运行结果都是数据时,则匹配可以是指运行结果与预设标准运行结果相同;若运行结果与预设标准运行结果是图像信息,则匹配是指相似度高于设定值。
预设显示窗口是预先设置的运行结果的显示窗口,预设显示窗口的显示位置和大小尺寸可以进行调节,现有的源代码窗口与运行结果的显示窗口是固定的,可能出现遮盖的现象,在本实施例中可以自动进行显示窗口,使得代码调试人员的操作更加便利。
具体地,步骤S50包括:
步骤a1,执行包含所述变量数据的所述待调试源代码,获取待调试源代码的运行结果,将所述运行结果与预设标准运行结果进行比对;
步骤b1,若所述运行结果与预设标准运行结果匹配,则在所述预设显示窗口中显示所述待调试源代码的调试通过;
步骤c1,若所述运行结果与预设标准运行结果不匹配,则在所述预设显示窗口中显示所述待调试源代码的调试不通过。
在本实施例中在源代码调试时设置代码调试的变量输入框,代码调试人员可以不用直接修改业务代码,而将代码中涉及的变量输入预设输入框,根据预设输入框与变量的映射关系,服务器自动获取用户的输入变量数据,执行并输出代码调试结果,不需要反复的进行代码的编辑,可以实现连续的代码调试,提高了代码调试的效率。
进一步地,步骤S50之后,还包括:
将所述调试结果输入至云端存储器,以供用户从云端存储器中的获取调试结果。
在本实施例中,服务器将调试结果上传至云端服务器进行备份,在用户需要的时候可以从云端存储器中的获取调试结果,方便用户的操作。同时防止了调试结果丢失的情况,此外,云端存储器可以将云端调试结果进行统计,以供调试人员可以根据云端调试结果,确定源代码的问题。
进一步的,参照图3,在本发明第一实施例的基础上提出了本发明代码调试方法的第二实施例,与本发明第一实施例的区别在于本实施例中具体说明的待调试代码中包含两个或者两个以上待测试变量。且待调试源代码的运行结果与至少两个目标待测试变量相关的代码调试方法。
所述代码调试方法包括:
步骤S60,判断所述第一待调试源代码中是否包含至少两个所述目标待测试变量。
服务器将所述变量数据输入至待调试源代码中所述目标待测试变量对应位置之后,进一步确定所述待调试源代码中是否包含至少两个目标待测试变量,由于软件调试人员可以自主地设置待调试代码的长度,即,用户可以将源代码中的几行代码作为待调试源代码,还可以将单行代码作为待调试源代码;在用户可以将源代码中的几行代码作为待调试源代码时,几行代码中可能包含多个待测试变量,服务器根据所述待调试源代码中设置的变量标识,确定待调试源代码是否包含至少两个目标待测试变量。
步骤S70,若所述第一待调试源代码中包含至少两个所述目标待测试变量,则判断所述第一待调试源代码的运行结果是否与至少两个所述目标待测试变量相关。
若所述待调试源代码中包含至少两个目标待测试变量,则判断所述待调试源代码的运行结果是否与至少两个目标待测试变量相关,例如,待调试源代码为计算贷款额度的代码,计算贷款额度的代码中涉及的待测试变量为申请额度、信用等级、信贷利率等,待调试源代码运行结果为贷款额度,这样根据贷款额度的计算方法,服务器则判定贷款额度与申请额度、信用等级、信贷利率相关,即,待调试源代码的运行结果与至少两个目标待测试变量相关,或者待调试源代码的运行结果受至少两个目标待测试变量影响。
步骤S80,若所述第一待调试源代码的运行结果与至少两个所述目标待测试变量相关,则按预设控制变量策略对所述目标待测试变量对应的变量数据进行调整。
若所述待调试源代码的运行结果与至少两个目标待测试变量相关,则获取所述至少两个目标待测试变量对应的各变量数据,从所述各变量数据中逐个选择基础变量数据。按预设控制变量策略中的变量调整规则调整所述基础变量数据,并保持除所述基础变量数据之外其他各变量数据不变;执行包含所述变量数据的所述待调试源代码,并输出各基础变量数据对应目标待测试变量与运行结果之间的关系,根据运行结果与预设标准运行结果的关系,得到调试结果。其中,预设控制变量策略是预先设置的控制变量法,即,服务器自动调整一个目标待测试变量对应的变量数据,并保持除目标待测试变量之外其他的待测试变量不变,以确定待测试变量对应的代码是否异常。
具体地,步骤S80包括:
步骤a2,若所述第一待调试源代码的运行结果与至少两个所述目标待测试变量相关,则获取至少两个所述目标待测试变量对应的各变量数据,从所述各变量数据中逐个选择基础变量数据。
步骤b2,按预设控制变量策略中的变量调整规则调整所述基础变量数据,并保持除所述基础变量数据之外其他各变量数据不变。
例如,用户在申请额度、信用等级、信贷利率待测试变量的预设输入框中输入的数据为申请额度为100000元、信用等级3级、信贷利率4.35%,则服务器将申请额度为100000元作为基础变量数据,则服务器保持信用等级3级、信贷利率4.35%不变,将申请额度为100000自动调整为50000或者200000得到申请额度相关的待调试代码运行结果;进一步地,服务器将信用等级3级作为基础变量数据,则服务器保持申请额度为100000元和信贷利率4.35%不变,将信用等级3级自动调整为2级或者1级,得到信用等级相关的待调试代码运行结果;进一步地,服务器将信贷利率4.35%作为基础变量数据,则服务器保持申请额度为100000元和信用等级3级不变,将信贷利率4.35%自动调整为4.75%或者信贷利率4.90%,服务器得到信贷利率相关的待调试代码运行结果。
进一步地,所述步骤S80之后包括:
步骤S51,执行包含所述变量数据的所述第一待调试源代码,逐个输出各所述目标待测试变量对应的运行结果;根据所述运行结果确定所述第一待调试源代码的调试结果。
服务器执行包含所述变量数据的所述待调试源代码,逐个输出各目标待测试变量对应的运行结果;即,服务器输出申请额度、信用等级、信贷利率对应目标待测试变量与运行结果之间的关系,确定待调试代码中各目标待测试变量对运行结果的影响,服务器将各目标待测试变量的运行结果与预设标准运行结果进行比较,得到调试结果。
在本实施例中可以将相互关联的待测试变量进行关联测试,提高测试的效率,代码调试人员可以进行多行代码准确调试,提高代码调试的效率,此外根据各待测试变量对运行结果的影响准确输出待调试代码中的异常代码。
进一步的,参照图4,本发明代码调试方法的第三实施例中,在确定待调试代码中包含多个待测试变量,且待调试源代码的运行结果只与其中一个目标待测试变量相关的代码调试方法;具体地,所述代码调试方法包括:
步骤S90,若所述第一待调试源代码的运行结果与一个所述目标待测试变量相关,则显示断点设置提示信息,以提示用户在所述第一待调试源代码中设置断点标识。
若所述待调试源代码的运行结果与一个目标待测试变量相关,即,待调试源代码的运行结果不与多个目标待测试变量相关,则服务器上显示断点设置提示信息,以提示用户在待调试源代码中设置断点标识。
在本实施例中可以根据待调试源代码的长度和待调试源代码中包含的待测试变量的数量,提示代码调试人员根据待测变量的位置,在待调试源代码设置断点,使得代码的调试更加快捷。
进一步地,在确定若所述待调试源代码的运行结果与一个目标待测试变量相关时,所述步骤S50包括:
步骤S52,执行包含所述变量数据的所述第一待调试源代码,当执行到所述第一待调试源代码中各所述断点标识对应位置时,逐个输出各所述断点标识对应的调试结果。
服务器执行包含所述变量数据的所述待调试源代码,当执行到所述待调试源代码中各断点标识对应位置时,服务器进行调试结果的输出,并自动运行断点标识之后的待测试代码,以逐个输出各断点标识对应的调试结果。
在本实施例中调试人员可手动地设置待调试代码的断点,服务器根据设置的断点信息,进行代码的调试,使得待调试的源代码较为简洁。
此外,参照图5,本发明实施例还提出代码调试装置,所述代码调试装置包括:
接收获取模块10,用于接收代码调试指令,根据所述代码调试指令中包含的代码标识确定代码调试指令关联的第一待调试源代码,并获取所述第一待调试源代码中包含的待测试变量;
建立显示模块20,用于建立所述待测试变量与预设输入框的映射关系,并显示预设输入框,以提示用户在所述预设输入框中输入变量数据;
获取确定模块30,用于获取所述预设输入框中的变量数据,并根据所述映射关系确定所述变量数据对应的目标待测试变量;
数据输入模块40,用于将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置;
执行输出模块50,用于执行包含所述变量数据的所述第一待调试源代码,并输出调试结果。
进一步地,所述数据输入模块40,包括:
获取单元,用于根据所述映射关系从所述第一待调试源代码中获取包含所述目标待测试变量的第二待调试源代码;
数据输入单元,用于将所述变量数据输入至所述第二待调试源代码中所述目标待测试变量对应位置。
进一步地,所述代码调试装置包括:
第一判断模块,用于判断所述第一待调试源代码中是否包含至少两个所述目标待测试变量;
第二判断模块,用于若所述第一待调试源代码中包含至少两个所述目标待测试变量,则判断所述第一待调试源代码的运行结果是否与至少两个所述目标待测试变量相关;
数据调整模块,用于若所述第一待调试源代码的运行结果与至少两个所述目标待测试变量相关,则按预设控制变量策略对所述目标待测试变量对应的变量数据进行调整。
进一步地,数据调整模块,包括:
获取选择单元,用于若所述第一待调试源代码的运行结果与至少两个所述目标待测试变量相关,则获取至少两个所述目标待测试变量对应的各变量数据,从所述各变量数据中逐个选择基础变量数据;
控制调整单元,用于按预设控制变量策略中的变量调整规则调整所述基础变量数据,并保持除所述基础变量数据之外其他各变量数据不变;
所述,执行输出模块50,包括:
第一输出单元,用于执行包含所述变量数据的所述第一待调试源代码,逐个输出各所述目标待测试变量对应的运行结果;
结果确定单元,用于根据所述运行结果确定所述第一待调试源代码的调试结果。
进一步地,所述代码调试装置包括:
断点设置模块,用于若所述第一待调试源代码的运行结果与一个所述目标待测试变量相关,则显示断点设置提示信息,以提示用户在所述第一待调试源代码中设置断点标识;
所述所述,执行输出模块50,还用于:
执行包含所述变量数据的所述第一待调试源代码,当执行到所述第一待调试源代码中各所述断点标识对应位置时,逐个输出各所述断点标识对应的调试结果。
进一步地,所述执行输出模块50,包括:
执行比对单元,用于执行包含所述变量数据的所述第一待调试源代码,获取第一待调试源代码的运行结果,将所述运行结果与预设标准运行结果进行比对;
匹配显示单元,用于若所述运行结果与预设标准运行结果匹配,则在所述预设显示窗口中显示所述第一待调试源代码的调试通过;若所述运行结果与预设标准运行结果不匹配,则在所述预设显示窗口中显示所述第一待调试源代码的调试不通过。
进一步地,所述代码调试装置还包括:
结果保存模块,用于将所述调试结果输入至云端存储器,以供用户从云端存储器中的获取调试结果。
其中,代码调试装置的各个功能模块实现的步骤可参照本发明代码调试方法的各个实施例,此处不再赘述。
此外,本发明实施例还提出一种计算机存储介质。
所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述实施例提供的代码调试方法中的操作。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体/操作/对象与另一个实体/操作/对象区分开来,而不一定要求或者暗示这些实体/操作/对象之间存在任何这种实际的关系或者顺序;术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种代码调试方法,其特征在于,所述代码调试方法包括以下步骤:
接收代码调试指令,根据所述代码调试指令中包含的代码标识确定代码调试指令关联的第一待调试源代码,并获取所述第一待调试源代码中包含的待测试变量;
建立所述待测试变量与预设输入框的映射关系,并显示预设输入框,以提示用户在所述预设输入框中输入变量数据;
获取所述预设输入框中的变量数据,并根据所述映射关系确定所述变量数据对应的目标待测试变量;
将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置;
执行包含所述变量数据的所述第一待调试源代码,并输出调试结果。
2.如权利要求1所述的代码调试方法,其特征在于,所述将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置的步骤,包括:
根据所述映射关系从所述第一待调试源代码中获取包含所述目标待测试变量的第二待调试源代码;
将所述变量数据输入至所述第二待调试源代码中所述目标待测试变量对应位置。
3.如权利要求1所述的代码调试方法,其特征在于,所述将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置的步骤之后,包括:
判断所述第一待调试源代码中是否包含至少两个所述目标待测试变量;
若所述第一待调试源代码中包含至少两个所述目标待测试变量,则判断所述第一待调试源代码的运行结果是否与至少两个所述目标待测试变量相关;
若所述第一待调试源代码的运行结果与至少两个所述目标待测试变量相关,则按预设控制变量策略对所述目标待测试变量对应的变量数据进行调整。
4.如权利要求3所述的代码调试方法,其特征在于,所述若所述第一待调试源代码的运行结果与至少两个所述目标待测试变量相关,则按预设控制变量策略对所述目标待测试变量对应的变量数据进行调整的步骤,包括:
若所述第一待调试源代码的运行结果与至少两个所述目标待测试变量相关,则获取至少两个所述目标待测试变量对应的各变量数据,从所述各变量数据中逐个选择基础变量数据;
按预设控制变量策略中的变量调整规则调整所述基础变量数据,并保持除所述基础变量数据之外其他各变量数据不变;
所述执行包含所述变量数据的所述第一待调试源代码,并输出调试结果的步骤包括:
执行包含所述变量数据的所述第一待调试源代码,逐个输出各所述目标待测试变量对应的运行结果;
根据所述运行结果确定所述第一待调试源代码的调试结果。
5.如权利要求3所述的代码调试方法,其特征在于,所述若所述第一待调试源代码中包含至少两个所述目标待测试变量,则判断所述第一待调试源代码的运行结果是否与至少两个所述目标待测试变量相关步骤之后,包括:
若所述第一待调试源代码的运行结果与一个所述目标待测试变量相关,则显示断点设置提示信息,以提示用户在所述第一待调试源代码中设置断点标识;
所述执行包含所述变量数据的所述待调试源代码,并输出调试结果的步骤,包括:
执行包含所述变量数据的所述第一待调试源代码,当执行到所述第一待调试源代码中各所述断点标识对应位置时,逐个输出各所述断点标识对应的调试结果。
6.如权利要求1所述的代码调试方法,其特征在于,所述执行包含所述变量数据的所述第一待调试源代码,并输出调试结果的步骤,包括:
执行包含所述变量数据的所述第一待调试源代码,获取第一待调试源代码的运行结果,将所述运行结果与预设标准运行结果进行比对;
若所述运行结果与预设标准运行结果匹配,则在所述预设显示窗口中显示所述第一待调试源代码的调试通过;
若所述运行结果与预设标准运行结果不匹配,则在所述预设显示窗口中显示所述第一待调试源代码的调试不通过。
7.如权利要求1所述的代码调试方法,其特征在于,所述执行包含所述变量数据的所述第一待调试源代码,并输出调试结果的步骤之后,包括:
将所述调试结果输入至云端存储器,以供用户从云端存储器中的获取调试结果。
8.一种代码调试装置,其特征在于,所述代码调试装置包括:
接收获取模块,用于接收代码调试指令,根据所述代码调试指令中包含的代码标识确定代码调试指令关联的第一待调试源代码,并获取所述第一待调试源代码中包含的待测试变量;
建立显示模块,用于建立所述待测试变量与预设输入框的映射关系,并显示预设输入框,以提示用户在所述预设输入框中输入变量数据;
获取确定模块,用于获取所述预设输入框中的变量数据,并根据所述映射关系确定所述变量数据对应的目标待测试变量;
数据输入模块,用于将所述变量数据输入至所述第一待调试源代码中所述目标待测试变量对应位置;
执行输出模块,用于执行包含所述变量数据的所述第一待调试源代码,并输出调试结果。
9.一种代码调试设备,其特征在于,所述代码调试设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中:
所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的代码调试方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的代码调试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810567855.0A CN109726109A (zh) | 2018-06-04 | 2018-06-04 | 代码调试方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810567855.0A CN109726109A (zh) | 2018-06-04 | 2018-06-04 | 代码调试方法、装置、设备和计算机存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109726109A true CN109726109A (zh) | 2019-05-07 |
Family
ID=66293879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810567855.0A Pending CN109726109A (zh) | 2018-06-04 | 2018-06-04 | 代码调试方法、装置、设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109726109A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515831A (zh) * | 2019-07-15 | 2019-11-29 | 平安普惠企业管理有限公司 | 断点调试方法、调试系统、计算机设备及计算机存储介质 |
CN111003201A (zh) * | 2019-11-25 | 2020-04-14 | 中国航空工业集团公司沈阳飞机设计研究所 | 飞机振动数据测试通道代码与测点信息匹配方法及装置 |
CN112612692A (zh) * | 2020-12-07 | 2021-04-06 | 中标软件有限公司 | 一种linux系统性能调优的方法 |
CN113342633A (zh) * | 2020-02-18 | 2021-09-03 | 北京京东振世信息技术有限公司 | 一种性能测试方法和装置 |
CN113535539A (zh) * | 2020-04-22 | 2021-10-22 | 网易(杭州)网络有限公司 | 游戏编辑中调试方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010034880A1 (en) * | 2000-03-02 | 2001-10-25 | Jonathan Dzoba | Configurable debug system using source and data objects |
US20140033178A1 (en) * | 2012-07-26 | 2014-01-30 | Adobe Systems Inc. | Method and apparatus for reverse debugging source code using causal analysis |
CN105242597A (zh) * | 2015-09-29 | 2016-01-13 | 中国科学院光电技术研究所 | 一种嵌入式控制器调试界面的自动生成方法 |
US9430358B1 (en) * | 2015-06-23 | 2016-08-30 | Ca, Inc. | Debugging using program state definitions |
CN106354637A (zh) * | 2016-08-29 | 2017-01-25 | 青岛海信宽带多媒体技术有限公司 | 一种系统调试方法及装置 |
CN107688529A (zh) * | 2017-02-20 | 2018-02-13 | 平安科技(深圳)有限公司 | 组件调试方法和装置 |
-
2018
- 2018-06-04 CN CN201810567855.0A patent/CN109726109A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010034880A1 (en) * | 2000-03-02 | 2001-10-25 | Jonathan Dzoba | Configurable debug system using source and data objects |
US20140033178A1 (en) * | 2012-07-26 | 2014-01-30 | Adobe Systems Inc. | Method and apparatus for reverse debugging source code using causal analysis |
US9430358B1 (en) * | 2015-06-23 | 2016-08-30 | Ca, Inc. | Debugging using program state definitions |
CN105242597A (zh) * | 2015-09-29 | 2016-01-13 | 中国科学院光电技术研究所 | 一种嵌入式控制器调试界面的自动生成方法 |
CN106354637A (zh) * | 2016-08-29 | 2017-01-25 | 青岛海信宽带多媒体技术有限公司 | 一种系统调试方法及装置 |
CN107688529A (zh) * | 2017-02-20 | 2018-02-13 | 平安科技(深圳)有限公司 | 组件调试方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515831A (zh) * | 2019-07-15 | 2019-11-29 | 平安普惠企业管理有限公司 | 断点调试方法、调试系统、计算机设备及计算机存储介质 |
CN111003201A (zh) * | 2019-11-25 | 2020-04-14 | 中国航空工业集团公司沈阳飞机设计研究所 | 飞机振动数据测试通道代码与测点信息匹配方法及装置 |
CN113342633A (zh) * | 2020-02-18 | 2021-09-03 | 北京京东振世信息技术有限公司 | 一种性能测试方法和装置 |
CN113342633B (zh) * | 2020-02-18 | 2023-09-22 | 北京京东振世信息技术有限公司 | 一种性能测试方法和装置 |
CN113535539A (zh) * | 2020-04-22 | 2021-10-22 | 网易(杭州)网络有限公司 | 游戏编辑中调试方法、装置、设备及存储介质 |
CN113535539B (zh) * | 2020-04-22 | 2023-07-25 | 网易(杭州)网络有限公司 | 游戏编辑中调试方法、装置、设备及存储介质 |
CN112612692A (zh) * | 2020-12-07 | 2021-04-06 | 中标软件有限公司 | 一种linux系统性能调优的方法 |
CN112612692B (zh) * | 2020-12-07 | 2024-01-26 | 中标软件有限公司 | 一种linux系统性能调优的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109726109A (zh) | 代码调试方法、装置、设备和计算机存储介质 | |
US10885713B2 (en) | Method, apparatus, and system for generating an AR application and rendering an AR instance | |
CN107945769B (zh) | 环境光强度检测方法、装置、存储介质及电子设备 | |
CN109684047A (zh) | 事件处理方法、装置、设备和计算机存储介质 | |
US9467518B2 (en) | System, a method and a computer program product for automated remote control | |
CN107908551A (zh) | 终端软件测试方法、装置、终端和计算机存储介质 | |
CN108519943A (zh) | 测试控制和测试执行装置、方法及计算机存储介质 | |
CN107678895A (zh) | 一种智能终端页面跳转时间的测试方法及系统 | |
CN109901996A (zh) | 辅助测试的方法、装置、电子设备及可读存储介质 | |
CN106898017B (zh) | 用于识别图像局部区域的方法、装置及终端设备 | |
CN110413510B (zh) | 一种数据处理方法、装置及设备 | |
CN104915297B (zh) | 一种android设备的APP耗电量的自动化测试方法 | |
CN110046088A (zh) | 一种接口测试方法、装置及设备 | |
CN110502442A (zh) | 动态参数校验方法、装置、设备和存储介质 | |
CN109684046A (zh) | 事件自助处理方法、装置、设备和计算机存储介质 | |
KR20200111151A (ko) | 비색표를 이용한 소변 검사를 제공하는 컴퓨터 프로그램 및 단말기 | |
CN114564374A (zh) | 算子性能评估方法、装置、电子设备及存储介质 | |
CN105959593A (zh) | 一种拍照设备的曝光方法及拍照设备 | |
CN108924547A (zh) | 电视主板测试方法、装置、系统及测试上位机 | |
CN110262932A (zh) | Android平板测试方法、系统以及计算机可读存储介质 | |
CN113553261B (zh) | 软件自动化测试方法、设备及计算机可读存储介质 | |
CN111387932A (zh) | 一种视力检测方法、装置及设备 | |
CN108717357A (zh) | 页面展示代码转换方法、装置、设备及计算机存储介质 | |
CN113781481A (zh) | 非接触测量物体形状和尺寸的方法、装置以及电子设备 | |
CN109801342A (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 |