The invention discloses a debugging control method and system of JavaScript code, which includes code module, debugger and debugging tool, in which: code module is used to load the original code and add specific tags to the original code to obtain tag code, in which the original code is JavaScript code, and the specific tags are used to call the corresponding function in the debugger to realize entry function and jump-out function. Functions for counting or executing lines of code statements; Debugging tools for loading the original code and sending debugging instructions to the debugger under the control of the user based on the original code; Debuggers for loading and executing the tag code, receiving debugging instructions sent by the debugging tools in the process of executing the tag code, and passing control and specific calibration based on the debugging instructions The corresponding function controls the execution of markup code to achieve the corresponding code debugging. This application can reduce the development workload and maintenance workload, and improve the development efficiency.
【技术实现步骤摘要】
一种javascript代码的调试控制方法及系统
本专利技术涉及软件开发
,更具体地说,涉及一种javascript代码的调试控制方法及系统。
技术介绍
现有的用于实现javascript代码调试的调试工具在开发过程中,通常采用javascript引擎提供的调试接口功能实现对应的调试控制功能。参见图1,图1是现有javascript调试工具结构关系示意图(注意现有javascript调试工具大多采用调试器与调试工具集成于一体的方式呈现,例如常见的网页浏览器软件其内部就同时存在调试工具装置和调试器装置的实现)。现有的javascript调试工具的调试控制功能由于需要javascript引擎的调试接口支持,而目前市面上的javascript引擎的种类繁多,调试接口各异,常用的javascript引擎(如:v8,InternetExplorer所携带javascript引擎等)由于某些原因无法在全平台运行(如:v8不能在ios中运行,InternetExplorer所携带javascript引擎只能在windows上运行等),并且实现质量也参差不齐,同时在后期维护过程中还需要应对由于javascript引擎调试接口的变更而增加的维护工作量。因此,若采用现有的实现方式将不可避免的需要针对不同的javascript引擎调试接口编写不同的调试器,且当用户有跨平台(如windows,android,ios等)需求时,将不可避免的面临需要支持多种javascript引擎的问题。这无疑会增加开发人员的开发工作量、降低开发效率、增大维护工作量。综上所述,现有技术中用于实 ...
【技术保护点】
1.一种javascript代码的调试控制系统,其特征在于,包括代码模块、调试器及调试工具,其中:所述代码模块,用于:加载原代码,为所述原代码加入特定标记得到标记代码,其中,所述原代码为javascript代码,所述特定标记为调用所述调试器中对应函数实现进入函数、跳出函数或执行代码语句行的操作的函数;所述调试工具,用于:加载所述原代码,以及在用户基于所述原代码实现的控制下发送相应调试指令至所述调试器;所述调试器,用于:加载及执行所述标记代码,在执行所述标记代码的过程中接收所述调试工具发送的调试指令,并基于所述调试指令通过控制与所述特定标记对应的函数控制所述标记代码的执行,以实现对应的代码调试。
【技术特征摘要】
1.一种javascript代码的调试控制系统,其特征在于,包括代码模块、调试器及调试工具,其中:所述代码模块,用于:加载原代码,为所述原代码加入特定标记得到标记代码,其中,所述原代码为javascript代码,所述特定标记为调用所述调试器中对应函数实现进入函数、跳出函数或执行代码语句行的操作的函数;所述调试工具,用于:加载所述原代码,以及在用户基于所述原代码实现的控制下发送相应调试指令至所述调试器;所述调试器,用于:加载及执行所述标记代码,在执行所述标记代码的过程中接收所述调试工具发送的调试指令,并基于所述调试指令通过控制与所述特定标记对应的函数控制所述标记代码的执行,以实现对应的代码调试。2.根据权利要求1所述的系统,其特征在于,所述调试器包括:堆栈管理单元,用于:跟踪所述标记代码中的特定标记,并基于跟踪所得信息为所述标记代码维护包括表示函数调用关系的函数调用堆栈的堆栈数据结构,以支持所述调试器其他对应功能的实现。3.根据权利要求2所述的系统,其特征在于,所述调试器包括:断点管理单元,用于:在所述调试指令的触发下,为所述标记代码添加、启用、禁用、编辑或移除断点;调试控制单元,用于:在所述调试指令的触发下,实现对应的调试控制功能,所述调试控制功能包括启动调试、停止调试、暂停调试、进入函数、跳出函数、单步及由暂停调试或命中断点状态返回的继续调试。4.根据权利要求3所述的系统,其特征在于,所述调试器包括:变量操作单元,用于:当在执行所述标记代码的过程中命中断点时,在所述调试指令的触发下实现针对指定变量的取值、更改值、变量类型识别的操作。5.根据权利要求4所述的系统,其特征在于,所述调试器包括:断点命中通知单元,用于:按照所述调...
【专利技术属性】
技术研发人员:陈松林,
申请(专利权)人:艾普阳科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。