JAVA编程断点在线调试方法、装置、电子设备及介质制造方法及图纸

技术编号:37230023 阅读:22 留言:0更新日期:2023-04-20 23:12
本发明专利技术提供一种JAVA编程断点在线调试方法、装置、电子设备及介质,方法包括通过调试服务进程建立在线编辑器与调试器之间的通信连接;接收在线编辑器设置的调试文件的断点信息,将断点信息传递给调试器,接收调试器返回的调试信息;将调试信息传递给在线编辑器,接收在线编辑器给出的变量信息,将变量信息传递给调试器;接收调试器持续返回的调试结果,将调试结果返回给在线编辑器;接收在线编辑器返回的代码修改信息,将代码修改信息传递给调试器,将调试器返回的重新调试结果传递给在线编辑器。本发明专利技术的优点:不仅调试起来十分方便,能够有效提升断点的调试效率,而且能够很好地满足信创环境下的调试使用需求。足信创环境下的调试使用需求。足信创环境下的调试使用需求。

【技术实现步骤摘要】
JAVA编程断点在线调试方法、装置、电子设备及介质


[0001]本专利技术涉及计算机
,特别涉及一种JAVA编程断点在线调试方法、装置、电子设备及介质。

技术介绍

[0002]目前,JAVA编程语言断点调试技术,大部分是基于本地编辑器的客户端,如IntelliJIDEA、Eclipse、MyEclipse等;通过在程序的某一行设置一个断点,当程序运行到断点后可一步一步地往下调试,且调试过程中可以看到各个变量的当前值,当调试到出错的代码行时立即显示错误并停下调试,以便进行错误分析,从而找到这个Bug;但因整个调试过程都是在客户端上进行的,即需要本地启动项目进行调试,因此调试效率低下,且无法满足信创环境下的调试使用需求。

技术实现思路

[0003]本专利技术要解决的技术问题,在于提供一种JAVA编程断点在线调试方法、装置、电子设备及介质,解决现有JAVA编程语言断点调试因整个调试过程都是在客户端上进行的,存在调试效率低下,且无法满足信创环境下的调试使用需求的问题。
[0004]第一方面,本专利技术提供了一种JAVA编程断点在线调试方法,所述调试方法包括如下步骤:
[0005]通过调试服务进程建立在线编辑器与调试器之间的通信连接,实现初始化调试器;
[0006]调试服务进程接收在线编辑器设置的调试文件的断点信息,将断点信息传递给调试器进行调试处理,并接收调试器返回的调试信息;
[0007]调试服务进程将调试信息传递给在线编辑器,使在线编辑器根据调试信息给出变量信息;同时接收在线编辑器给出的变量信息,并将变量信息传递给调试器进行调试;
[0008]调试服务进程接收调试器基于变量信息所持续返回的调试结果,并将调试结果返回给在线编辑器;
[0009]调试服务进程接收在线编辑器基于调试结果返回的代码修改信息,将代码修改信息传递给调试器进行重新调试,并将调试器返回的重新调试结果传递给在线编辑器。
[0010]进一步的,所述通过调试服务进程建立在线编辑器与调试器之间的通信连接,实现初始化调试器具体包括:
[0011]在服务器创建调试服务进程,在线编辑器通过调试服务进程向调试器发起初始化请求,其中,初始化请求的InitializeEvent请求结构中集成有初始化信息,初始化信息至少包括调试文件的初始路径、在线编辑器的开发语言环境和初始断点行。
[0012]进一步的,所述断点信息至少包括设置有断点的当前类的代码详细信息以及所标记的具体断点行数信息。
[0013]进一步的,所述调试信息至少包括具体断点信息、服务进程信息和堆栈信息;
[0014]所述在线编辑器根据调试信息给出变量信息具体包括:在线编辑器接收到调试信息后,根据调试信息给出按步调试方案,同时从调试信息中提取出堆栈信息,并向调试服务进程发起请求堆栈信息的变量信息。
[0015]进一步的,所述按步调试方案包括步过、步入和步出;当点击在线编辑器上的步过按钮时,调试器在调试时不进入到具体的函数方法中,并直接返回调试结果;当点击在线编辑器上的步入按钮时,调试器会自动进入下一行代码的调试,并返回当前最新变量的结果;当点击在线编辑器上的步出按钮时,调试器将不再执行函数的按步调试,并直接返回至调用函数的方法语句中。
[0016]进一步的,所述调试服务进程接收在线编辑器基于调试结果返回的代码修改信息具体为:
[0017]在线编辑器接收到调试结果后,判断调试结果是否符合预期结果,如果不符合预期结果,则在线修改调试文件的代码,并请求调试器对修改后的调试文件进行重新调试;如果符合预期结果,则无需修改调试文件的代码。
[0018]第二方面,本专利技术提供了一种JAVA编程断点在线调试装置,所述调试装置包括初始化模块、断点传递模块、调试模块、结果返回模块以及修改重调模块;
[0019]所述初始化模块,用于通过调试服务进程建立在线编辑器与调试器之间的通信连接,实现初始化调试器;
[0020]所述断点传递模块,用于调试服务进程接收在线编辑器设置的调试文件的断点信息,将断点信息传递给调试器进行调试处理,并接收调试器返回的调试信息;
[0021]所述调试模块,用于调试服务进程将调试信息传递给在线编辑器,使在线编辑器根据调试信息给出变量信息;同时接收在线编辑器给出的变量信息,并将变量信息传递给调试器进行调试;
[0022]所述结果返回模块,用于调试服务进程接收调试器基于变量信息所持续返回的调试结果,并将调试结果返回给在线编辑器;
[0023]所述修改重调模块,用于调试服务进程接收在线编辑器基于调试结果返回的代码修改信息,将代码修改信息传递给调试器进行重新调试,并将调试器返回的重新调试结果传递给在线编辑器。
[0024]进一步的,所述通过调试服务进程建立在线编辑器与调试器之间的通信连接,实现初始化调试器具体包括:
[0025]在服务器创建调试服务进程,在线编辑器通过调试服务进程向调试器发起初始化请求,其中,初始化请求的InitializeEvent请求结构中集成有初始化信息,初始化信息至少包括调试文件的初始路径、在线编辑器的开发语言环境和初始断点行。
[0026]进一步的,所述断点信息至少包括设置有断点的当前类的代码详细信息以及所标记的具体断点行数信息。
[0027]进一步的,所述调试信息至少包括具体断点信息、服务进程信息和堆栈信息;
[0028]所述在线编辑器根据调试信息给出变量信息具体包括:在线编辑器接收到调试信息后,根据调试信息给出按步调试方案,同时从调试信息中提取出堆栈信息,并向调试服务进程发起请求堆栈信息的变量信息。
[0029]进一步的,所述按步调试方案包括步过、步入和步出;当点击在线编辑器上的步过
按钮时,调试器在调试时不进入到具体的函数方法中,并直接返回调试结果;当点击在线编辑器上的步入按钮时,调试器会自动进入下一行代码的调试,并返回当前最新变量的结果;当点击在线编辑器上的步出按钮时,调试器将不再执行函数的按步调试,并直接返回至调用函数的方法语句中。
[0030]进一步的,所述调试服务进程接收在线编辑器基于调试结果返回的代码修改信息具体为:
[0031]在线编辑器接收到调试结果后,判断调试结果是否符合预期结果,如果不符合预期结果,则在线修改调试文件的代码,并请求调试器对修改后的调试文件进行重新调试;如果符合预期结果,则无需该修改调试文件的代码。
[0032]第三方面,本专利技术提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
[0033]第四方面,本专利技术提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
[0034]本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:能够很好地实现基于B/S架构的JAVA编程的断点在线可视化调试,且能够本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种JAVA编程断点在线调试方法,其特征在于:所述调试方法包括如下步骤:通过调试服务进程建立在线编辑器与调试器之间的通信连接,实现初始化调试器;调试服务进程接收在线编辑器设置的调试文件的断点信息,将断点信息传递给调试器进行调试处理,并接收调试器返回的调试信息;调试服务进程将调试信息传递给在线编辑器,使在线编辑器根据调试信息给出变量信息;同时接收在线编辑器给出的变量信息,并将变量信息传递给调试器进行调试;调试服务进程接收调试器基于变量信息所持续返回的调试结果,并将调试结果返回给在线编辑器;调试服务进程接收在线编辑器基于调试结果返回的代码修改信息,将代码修改信息传递给调试器进行重新调试,并将调试器返回的重新调试结果传递给在线编辑器。2.根据权利要求1所述JAVA编程断点在线调试方法,其特征在于:所述通过调试服务进程建立在线编辑器与调试器之间的通信连接,实现初始化调试器具体包括:在服务器创建调试服务进程,在线编辑器通过调试服务进程向调试器发起初始化请求,其中,初始化请求的InitializeEvent请求结构中集成有初始化信息,初始化信息至少包括调试文件的初始路径、在线编辑器的开发语言环境和初始断点行。3.根据权利要求1所述JAVA编程断点在线调试方法,其特征在于:所述断点信息至少包括设置有断点的当前类的代码详细信息以及所标记的具体断点行数信息。4.根据权利要求1所述JAVA编程断点在线调试方法,其特征在于:所述调试信息至少包括具体断点信息、服务进程信息和堆栈信息;所述在线编辑器根据调试信息给出变量信息具体包括:在线编辑器接收到调试信息后,根据调试信息给出按步调试方案,同时从调试信息中提取出堆栈信息,并向调试服务进程发起请求堆栈信息的变量信息。5.根据权利要求4所述JAVA编程断点在线调试方法,其特征在于:所述按步调试方案包括步过、步入和步出;当点击在线编辑器上的步过按钮时,调试器在调试时不进入到具体的函数方法中,...

【专利技术属性】
技术研发人员:吴志雄柳晓雅
申请(专利权)人:南威软件股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1