The embodiment of the present invention discloses a script debugging method, a device and a computer storage medium. The method includes: the device acquires debugging instructions, the debugging instructions carry target line breakpoints to be debugged, and the target line breakpoints include at least line information for indicating the location of breakpoints in the request debugging script file; and the determination of the conditions for debugging breakpoints. Next, the debugging results are displayed. The debugging results include the information obtained when the device performs breakpoint processing on the line code corresponding to the target line breakpoint. The debugging conditions of the breakpoint include at least the identifying information corresponding to the target interface breakpoint and the target local variable. With the embodiment of the present invention, the functions of script debugging, fast positioning of problem location and so on can be realized without modifying the debugging function of the script engine.
【技术实现步骤摘要】
脚本调试方法、设备及计算机存储介质
本专利技术涉及计算机
,尤其涉及脚本调试方法、设备及计算机存储介质。
技术介绍
脚本是使用一种特定描述性语言,依据一定格式编写的可执行文件,又被称为宏或批处理文件。该描述语言也被称为脚本语言(Scriptlanguages),它是为了缩短传统的编写、编译、链接、运行过程而创建的计算机编程语言。其中,脚本可理解为一种纯文本保存的程序,可由一系列计算机能执行的操作命令组成。脚本执行过程中,通过需要借助脚本引擎来完成;不同类型的脚本需要不同的脚本引擎,只有在脚本和脚本引擎匹配时,才能正确编译脚本。现有技术提供的脚本调试方案具体为:在启动脚本引擎时,需开启监听接口,监听待执行的调试命令;调试器通过该监听接口与设备中的容器通信,以实现相应地代码调试。在实践中发现,监听接口与用于脚本调试时所使用的调试接口(如JDI接口)是独立的、不一致的。每个监听接口仅允许调试一种脚本。如果同时需要调试多种脚本时,在脚本引擎中需设计多个监听接口;其中,一种脚本文件对应一个监听接口,不同监听接口间不能相互调用,且脚本引擎还需具备调试功能。这样在脚本引擎中将存在多个监听接口,增加设计难度和人力成本。此外,目前很多脚本引擎中并没有提供调试功能,通常采用日志分析的方式确定是否出现问题,其不能直接定位到问题出现的位置;或者后续研发人员通过二分法,删除部分脚本后重新执行以找出问题的位置,但这种方法将延长研发时间、降低效率。相应地,如果让调试引擎具备调试功能,则需修改调试引擎的代码,由于脚本引擎通常是开源代码设计的,增加调试功能比较困难且还容易导致调试引擎 ...
【技术保护点】
1.一种脚本调试方法,其特征在于,所述方法包括:设备获取调试指令,所述调试指令携带有待调试的目标行断点,所述目标行断点至少包括用于指示请求调试脚本文件中断点位置所在行代码的行信息;在确定满足断点调试条件的情况下,显示调试结果,所述调试结果包括所述设备对所述目标行断点对应的行代码执行断点处理时所获得的信息,所述断点调试条件至少包括目标接口断点与目标局部变量各自对应的标识信息一致,所述目标接口断点是根据所述目标行断点确定的,所述目标局部变量是根据与所述目标行断点关联的上下行代码确定的。
【技术特征摘要】
1.一种脚本调试方法,其特征在于,所述方法包括:设备获取调试指令,所述调试指令携带有待调试的目标行断点,所述目标行断点至少包括用于指示请求调试脚本文件中断点位置所在行代码的行信息;在确定满足断点调试条件的情况下,显示调试结果,所述调试结果包括所述设备对所述目标行断点对应的行代码执行断点处理时所获得的信息,所述断点调试条件至少包括目标接口断点与目标局部变量各自对应的标识信息一致,所述目标接口断点是根据所述目标行断点确定的,所述目标局部变量是根据与所述目标行断点关联的上下行代码确定的。2.根据权利要求1所述的方法,其特征在于,所述目标接口断点是根据预存的与所述目标行断点所在行代码所对应的目标类信息确定的,所述目标接口断点为所述设备中调试接口所能识别的断点。3.根据权利要求2所述的方法,其特征在于,所述方法还包括:创建多个关键信息与多个类信息之间关联关系,所述多个关键信息与多个行断点关联,所述多个行断点至少包括所述目标行断点,所述多个类信息至少包括所述目标类信息。4.根据权利要求3所述的方法,其特征在于,所述在确定满足断点调试条件的情况下,显示调试结果包括:遍历所述脚本文件中所有的行断点,在查找到存在与所述目标行断点对应的目标类信息的情况下,确定与所述目标行断点对应的目标局部变量的标识信息;在所述目标局部变量的标识信息与所述目标接口断点的标识信息一致的情况下,显示调试结果。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:创建多个关键信息与多个局部变量之间的映射关系,所述多个关键信息与多个行断点关联,所述多个行断点至少包括所述目标行断点,所述多个局部变量至少与所述目标行断点对应的目标局部变量。6.根据权利要求1-5中任一项所述的方法,其特征在于,所述标识信息包括:行信息和/或ID信息。7.根据权利要求1-6中任一项所述的方法,其特征在于,所述调试指令包括以下中的任一项:断点调试指令、单步调试指令、函数进入指令。8.根据权利要求1-7中任一项所述的方法,其特征在于,所述调试结果包括以下中的至少一项:焦点位置信息、堆栈调用信息以及局部变量信息;所述焦点位置信息用于指示所述脚本文件中所述目标行断点所在的行信息,所述堆栈调用信息用于指示调试所述脚本文件时所需调用的堆栈信息,所述堆栈信息至少包括所述目标行断点对应的行代码,所述局部变量信息包括所述目标局部变量在内的至少一个局部变量,所述局部变量是根据所述目标行断点对应的行代码以及与所述行代码关联的上下行代码计算获得的。9.根据权利要求1-8中任一项所述的方法,其特征在于,所述方法还包括:在确定不满足断点调试条件的情况下,从所述目标行断点对应的行代码开始恢复执行所述脚本文件。10.一种脚本调试方法,其特征在于,所述方法包括:调试器接收调试触发指令,所述调试触发指令携带有触发待调试的目标接口断点,所述目标接口断点是根据待调试的目标行断点确定的,所述目标行断点至少包括用于指示请求调试脚本文件中断点位置所在行代码的行信息;在确定满足断点调试条件的情况下,显示调试结果,所述调试结果包括所述设备对所述目标行断点对应的行代码执行断点处理时所获得的信息,所述断点调试条件至少包括目标接口断点与目标局部变量各自对应的标识信息一致,所述目...
【专利技术属性】
技术研发人员:陈勇,迈克尔·麦基,丹尼尔·迪尼戈,
申请(专利权)人:华为技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。