应用程序的远程调试方法、远程调试系统和终端与流程

文档序号:11949844阅读:321来源:国知局
应用程序的远程调试方法、远程调试系统和终端与流程

本发明涉及应用程序调试技术领域,具体而言,涉及一种应用程序的远程调试方法、一种应用程序的远程调试系统和一种终端。



背景技术:

运行于远程终端中的应用程序的实际应用场景与开发场景存在诸多差异,由此产生的程序漏洞可能造成应用程序运行障碍,或者造成远程终端的安全漏洞,并因此导致应用程序的用户的经济损失和财产损失。

相关技术中,在远程调试应用程序的过程中,应用程序只能被停止运行后,向调试机发送应用程序的日志文件,以供调试机进行调试。但是,应用程序在远程环境中停止运行,可能造成用户工作效率降低或经济利益损失,另外,在日志文件无效的情况下,调试机即时获得日志文件也不能准确进行调试。

因此,如何提供一种新的远程调试应用程序的技术方案,以实现对远程终端中运行的应用程序的实时调试成为亟待解决的技术问题。



技术实现要素:

本发明正是基于上述问题,提出了一种新的远程调试应用程序的技术方案,通过本发明技术方案,实现了对远程终端中运行的应用程序的实时调试,一方面,通过套接字方式监控调试接口,不必停止应用程序的运行,另一方面,解决了日志无效降低调试效率的问题。

有鉴于此,根据本发明的第一方面的实施例,提出了一种应用程序的远程调试方法,包括:根据用户在用户界面发出的调试指令,确定远程终端中与所述调试指令对应的应用程序;生成所述应用程序对应的Java归档文件,并将所述Java归档文件加载至调试服务器的一个客户机中,所述客户机中设置有调试监听接口;创建与所述调试监听接口的通信连接;通过所述通信连接对加载至所述客户机中的应用程序进行调试。

在该技术方案中,通过生成待远程调试的应用程序的Java归档文件,并加载至调试服务器的客户机中,通过调试监听接口实现了对应用程序的远程调试,一方面,通过套接字方式监控调试接口,不必停止应用程序的运行,另一方面,解决了日志无效降低调试效率的问题。

其中,Java归档文件(Java Archive)简称JAR文件,包括Java源代码等,以ZIP文件格式为基础,不仅用于压缩和发布,还用于部署和封装库、组件和插件程序,可被编译器和Java虚拟机等工具时间使用,一个可执行的JAR文件中,可以由支持Java虚拟机直接执行而无需预先提取文件或设置提取路径。将Java归档文件加载至客户机,即将可执行JAR文件加入到客户机的类路径中,即可运行Java源代码,进而实现客户机对Java程序的调试。

在上述技术方案中,优选地,创建与所述调试监听接口的通信连接,以通过所述通信连接对加载至所述客户机中的应用程序进行调试,具体包括以下步骤:在启动所述客户机中的应用程序进行调试前,获取用户针对所述应用程序设置的调试参数,所述调试参数包括套接字和调试子选项;根据所述套接字创建与所述调试监听接口的通信连接;判断所述套接字为监听套接字或连接套接字;在判定所述套接字为所述监听套接字时,确定以所述客户机作为虚拟机进行监听调试;在判定所述套接字为所述连接套接字时,确定所述客户机为调试对象。

在该技术方案中,通过用户设定的调试参数对应用程序进行调试,丰富了远程调试方式,同时,提升了调试效率,其中,套接字包括监听套接字(即Listen Socket)和连接套接字(即Attach Socket),调试子选项的实施方式如下表1所示:

表1

上述表1中,VM即为虚拟机,例如,在确定套接字为监听套接字时,以客户机作为调试目标机,在确定套接字为连接套接字时,以应用程序的虚拟机作为调试目标机。

在上述技术方案中,优选地,在根据用户在用户界面发出的调试指令前,还包括:在本地运行待调试的应用程序的过程中,检测所述待调试的应用程序是否在调试断点处停止运行;在检测到所述待调试的应用程序在所述调试断点处停止运行时,确定所述调试参数可显示于所述用户界面,其中,所述调试参数还包括调试堆栈、调试断点和调试变量中的至少一种。

在该技术方案中,通过在调试断点出测试应用程序是否运行,可以提升远程调试的可靠性和准确率,其中,所述调试参数还包括调试堆栈、调试断点和调试变量中的至少一种。

在上述技术方案中,优选地,在根据用户在用户界面发出的调试指令前,还包括:对所述调试服务器的运行参数进行配置;在完成所述运行参数配置后,创建与所述调试服务器的数据通信连接。

在该技术方案中,通过对调试服务器的运行参数进行配置后,创建数据通信连接,进一步地提升了远程调试的可靠性和准确率。

在上述技术方案中,优选地,还包括:在对加载至所述客户机中的应用程序进行调试时,通过所述通信连接将调试结果实时反馈至所述用户界面。

在该技术方案中,通过将调试结果实时反馈至用户界面,提升了调试过程的直观性和及时性。

根据本发明的第二方面的实施例,提出了一种应用程序的远程调试系统,包括:确定单元,用于根据用户在用户界面发出的调试指令,确定远程终端中与所述调试指令对应的应用程序;加载单元,用于生成所述应用程序对应的Java归档文件,并将所述Java归档文件加载至调试服务器的一个客户机中,所述客户机中设置有调试监听接口;通信单元,用于创建与所述调试监听接口的通信连接;调试单元,用于通过所述通信连接对加载至所述客户机中的应用程序进行调试。

在该技术方案中,通过生成待远程调试的应用程序的Java归档文件,并加载至调试服务器的客户机中,通过调试监听接口实现了对应用程序的远程调试,一方面,通过套接字方式监控调试接口,不必停止应用程序的运行,另一方面,解决了日志无效降低调试效率的问题。

其中,Java归档文件(Java Archive)简称JAR文件,包括Java源代码等,以ZIP文件格式为基础,不仅用于压缩和发布,还用于部署和封装库、组件和插件程序,可被编译器和Java虚拟机等工具时间使用,一个可执行的JAR文件中,可以由支持Java虚拟机直接执行而无需预先提取文件或设置提取路径。将Java归档文件加载至客户机,即将可执行JAR文件加入到客户机的类路径中,即可运行Java源代码,进而实现客户机对Java程序的调试。

在上述技术方案中,优选地,还包括:获取单元,用于在启动所述客户机中的应用程序进行调试前,获取用户针对所述应用程序设置的调试参数,所述调试参数包括套接字和调试子选项;所述通信单元还用于:根据所述套接字创建与所述调试监听接口的通信连接;所述应用程序的远程调试系统还包括:判断单元,用于判断所述套接字为监听套接字或连接套接字;所述确定单元还用于:在判定所述套接字为所述监听套接字时,确定以所述客户机作为虚拟机进行监听调试;所述确定单元还用于:在判定所述套接字为所述连接套接字时,确定所述客户机为调试对象。

在该技术方案中,通过用户设定的调试参数对应用程序进行调试,丰富了远程调试方式,同时,提升了调试效率,其中,套接字包括监听套接字(即Listen Socket)和连接套接字(即Attach Socket),调试子选项的实施方式调试子选项的实施方式如表1所示。

在上述技术方案中,优选地,还包括:检测单元,用于在本地运行待调试的应用程序的过程中,检测所述待调试的应用程序是否在调试断点处停止运行;所述确定单元还用于:在检测到所述待调试的应用程序在所述调试断点处停止运行时,确定所述调试参数可显示于所述用户界面,其中,所述调试参数还包括调试堆栈、调试断点和调试变量中的至少一种。

在该技术方案中,通过在调试断点出测试应用程序是否运行,可以提升远程调试的可靠性和准确率,其中,所述调试参数还包括调试堆栈、调试断点和调试变量中的至少一种。

在上述技术方案中,优选地,还包括:配置单元,用于对所述调试服务器的运行参数进行配置;所述通信单元还用于:在完成所述运行参数配置后,创建与所述调试服务器的数据通信连接。

在该技术方案中,通过对调试服务器的运行参数进行配置后,创建数据通信连接,进一步地提升了远程调试的可靠性和准确率。

在上述技术方案中,优选地,还包括:反馈单元,用于在对加载至所述客户机中的应用程序进行调试时,通过所述通信连接将调试结果实时反馈至所述用户界面。

在该技术方案中,通过将调试结果实时反馈至用户界面,提升了调试过程的直观性和及时性。

根据本发明的第三方面提出了一种终端,包括上述任一项所述的应用程序的远程调试系统,因此,该终端具有与上述任一项所述的应用程序的远程调试系统相同的技术效果,在此不再赘述。

通过以上技术方案,通过生成待远程调试的应用程序的Java归档文件,并加载至调试服务器的客户机中,通过调试监听接口实现了对应用程序的远程调试,一方面,通过套接字方式监控调试接口,不必停止应用程序的运行,另一方面,解决了日志无效降低调试效率的问题。

附图说明

图1示出了根据本发明的实施例的应用程序的远程调试方法的示意流程图;

图2示出了根据本发明的实施例的应用程序的远程调试系统的示意框图;

图3示出了根据本发明的实施例的终端的示意框图;

图4示出了根据本发明的实施例的应用程序的远程调试架构的示意图;

图5示出了根据本发明的一个实施例的应用程序的远程调试方案的数据交互示意图;

图6示出了根据本发明的另一个实施例的应用程序的远程调试方案的数据交互示意图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。

图1示出了根据本发明的实施例的应用程序的远程调试方法的示意流程图。

如图1所示,根据本发明的实施例的应用程序的远程调试方法,包括:步骤102,根据用户在用户界面发出的调试指令,确定远程终端中与所述调试指令对应的应用程序;步骤104,生成所述应用程序对应的Java归档文件,并将所述Java归档文件加载至调试服务器的一个客户机中,所述客户机中设置有调试监听接口;步骤106,创建与所述调试监听接口的通信连接;步骤108,通过所述通信连接对加载至所述客户机中的应用程序进行调试。

在该技术方案中,通过生成待远程调试的应用程序的Java归档文件,并加载至调试服务器的客户机中,通过调试监听接口实现了对应用程序的远程调试,一方面,通过套接字方式监控调试接口,不必停止应用程序的运行,另一方面,解决了日志无效降低调试效率的问题。

其中,Java归档文件(Java Archive)简称JAR文件,包括Java源代码等,以ZIP文件格式为基础,不仅用于压缩和发布,还用于部署和封装库、组件和插件程序,可被编译器和Java虚拟机等工具时间使用,一个可执行的JAR文件中,可以由支持Java虚拟机直接执行而无需预先提取文件或设置提取路径。将Java归档文件加载至客户机,即将可执行JAR文件加入到客户机的类路径中,即可运行Java源代码,进而实现客户机对Java程序的调试。

在上述技术方案中,优选地,创建与所述调试监听接口的通信连接,以通过所述通信连接对加载至所述客户机中的应用程序进行调试,具体包括以下步骤:在启动所述客户机中的应用程序进行调试前,获取用户针对所述应用程序设置的调试参数,所述调试参数包括套接字和调试子选项;根据所述套接字创建与所述调试监听接口的通信连接;判断所述套接字为监听套接字或连接套接字;在判定所述套接字为所述监听套接字时,确定以所述客户机作为虚拟机进行监听调试;在判定所述套接字为所述连接套接字时,确定所述客户机为调试对象。

在该技术方案中,通过用户设定的调试参数对应用程序进行调试,丰富了远程调试方式,同时,提升了调试效率,其中,套接字包括监听套接字(即Listen Socket)和连接套接字(即Attach Socket),调试子选项的实施方式如表1所示。

在上述技术方案中,优选地,在根据用户在用户界面发出的调试指令前,还包括:在本地运行待调试的应用程序的过程中,检测所述待调试的应用程序是否在调试断点处停止运行;在检测到所述待调试的应用程序在所述调试断点处停止运行时,确定所述调试参数可显示于所述用户界面,其中,所述调试参数还包括调试堆栈、调试断点和调试变量中的至少一种。

在该技术方案中,通过在调试断点出测试应用程序是否运行,可以提升远程调试的可靠性和准确率,其中,所述调试参数还包括调试堆栈、调试断点和调试变量中的至少一种。

在上述技术方案中,优选地,在根据用户在用户界面发出的调试指令前,还包括:对所述调试服务器的运行参数进行配置;在完成所述运行参数配置后,创建与所述调试服务器的数据通信连接。

在该技术方案中,通过对调试服务器的运行参数进行配置后,创建数据通信连接,进一步地提升了远程调试的可靠性和准确率。

在上述技术方案中,优选地,还包括:在对加载至所述客户机中的应用程序进行调试时,通过所述通信连接将调试结果实时反馈至所述用户界面。

在该技术方案中,通过将调试结果实时反馈至用户界面,提升了调试过程的直观性和及时性。

图2示出了根据本发明的实施例的应用程序的远程调试系统的示意框图。

如图2所示,根据本发明的实施例的应用程序的远程调试系统200,包括:确定单元202,用于根据用户在用户界面发出的调试指令,确定远程终端中与所述调试指令对应的应用程序;加载单元204,用于生成所述应用程序对应的Java归档文件,并将所述Java归档文件加载至调试服务器的一个客户机中,所述客户机中设置有调试监听接口;通信单元206,用于创建与所述调试监听接口的通信连接;调试单元208,用于通过所述通信连接对加载至所述客户机中的应用程序进行调试。

在该技术方案中,通过生成待远程调试的应用程序的Java归档文件,并加载至调试服务器的客户机中,通过调试监听接口实现了对应用程序的远程调试,一方面,通过套接字方式监控调试接口,不必停止应用程序的运行,另一方面,解决了日志无效降低调试效率的问题。

其中,Java归档文件(Java Archive)简称JAR文件,包括Java源代码等,以ZIP文件格式为基础,不仅用于压缩和发布,还用于部署和封装库、组件和插件程序,可被编译器和Java虚拟机等工具时间使用,一个可执行的JAR文件中,可以由支持Java虚拟机直接执行而无需预先提取文件或设置提取路径。将Java归档文件加载至客户机,即将可执行JAR文件加入到客户机的类路径中,即可运行Java源代码,进而实现客户机对Java程序的调试。

在上述技术方案中,优选地,还包括:获取单元210,用于在启动所述客户机中的应用程序进行调试前,获取用户针对所述应用程序设置的调试参数,所述调试参数包括套接字和调试子选项;所述通信单元206还用于:根据所述套接字创建与所述调试监听接口的通信连接;所述应用程序的远程调试系统200还包括:判断单元212,用于判断所述套接字为监听套接字或连接套接字;所述确定单元202还用于:在判定所述套接字为所述监听套接字时,确定以所述客户机作为虚拟机进行监听调试;所述确定单元202还用于:在判定所述套接字为所述连接套接字时,确定所述客户机为调试对象。

在该技术方案中,通过用户设定的调试参数对应用程序进行调试,丰富了远程调试方式,同时,提升了调试效率,其中,套接字包括监听套接字(即Listen Socket)和连接套接字(即Attach Socket),调试子选项的实施方式如表1所示。

在上述技术方案中,优选地,还包括:检测单元214,用于在本地运行待调试的应用程序的过程中,检测所述待调试的应用程序是否在调试断点处停止运行;所述确定单元202还用于:在检测到所述待调试的应用程序在所述调试断点处停止运行时,确定所述调试参数可显示于所述用户界面,其中,所述调试参数还包括调试堆栈、调试断点和调试变量中的至少一种。

在该技术方案中,通过在调试断点出测试应用程序是否运行,可以提升远程调试的可靠性和准确率,其中,所述调试参数还包括调试堆栈、调试断点和调试变量中的至少一种。

在上述技术方案中,优选地,还包括:配置单元216,用于对所述调试服务器的运行参数进行配置;所述通信单元206还用于:在完成所述运行参数配置后,创建与所述调试服务器的数据通信连接。

在该技术方案中,通过对调试服务器的运行参数进行配置后,创建数据通信连接,进一步地提升了远程调试的可靠性和准确率。

在上述技术方案中,优选地,还包括:反馈单元218,用于在对加载至所述客户机中的应用程序进行调试时,通过所述通信连接将调试结果实时反馈至所述用户界面。

在该技术方案中,通过将调试结果实时反馈至用户界面,提升了调试过程的直观性和及时性。

图3示出了根据本发明的实施例的终端的示意框图。

如图3所示,根据本发明的实施例的终端300,包括上述任一项所述的应用程序的远程调试系统200,因此,该终端300具有与上述任一项所述的应用程序的远程调试系统200相同的技术效果,在此不再赘述。

图4示出了根据本发明的实施例的应用程序的远程调试架构的示意图。

如图4所示,根据本发明的实施例的应用程序的远程调试架构中,JPDA(Java Platform Debugger Architecture)组件包括:虚拟机(Visual Machine)、后台调试模块(Back-end)、前台调试模块(Front-end)和用户界面(User Interface)等,其中,虚拟机和后台调试模块属于目的机(Debug gee),前台调试模块和用户界面属于调试机(Debugger),而目的机和调试机中间有通信信道进行数据交互。

另外,对于上述组件对应的调试界面包括:Java虚拟机工具接口(JVMIT,Java VM Tool Interface)、Java调试线协议(JDWP,Java Debug Wire Protocol)和Java调试接口(JDI,Java Debug Interface),其中,JVMIT定义虚拟机(VM,Visual Machine)在调试时必须提供的服务,JDI定义用户代码级信息和请求,JDWP定义在调试过程中,目的机和调试机之间传输的信息和请求的格式,其中,目的机和调试机可以位于同一个系统内,也可以位于不同系统内,JPDA的调试参数(如表1所示)必须在启动应用程序时作为自变量提交。

图5和图6示出了根据本发明的实施例的应用程序的远程调试方案的数据交互示意图。

如图5和图6所示,根据本发明的实施例的应用程序的远程调试方案,通信通道一般由连接器和传送器组成,其中,连接器包括三种类型:

1)收听型,前端从后端收听一个进入的连接;

2)依附型,前端依附到一个已运行的后端上;

3)发布型,前端发布运行被调试者代码和后端的Java代码执行过程。

传送器包括套接字、串行路线和共享内存,并通过JDWP确定通信通道的连续化位流的格式和语义。

根据本发明的实施例的应用程序的远程调试方案具体包括:

1、配置服务器步骤包括:

1)配置web Logic的运行参数:

Web Logic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,Web Logic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。

Web Logic Server拥有处理关键Web应用系统问题所需的性能、可扩展性和高可用性。

与BEA Web Logic Commerce Server TM配合使用,Web Logic Server可为部署适应性个性化电子商务应用系统提供完善的解决方案,包括:

Ⅰ)Web logic提供多个启动脚本(*.sh和*.cmd),脚本位置在BEA_HOME/weblogic81/server/bin目录下;

Ⅱ)找到startWSL.cmd并且增加下列变量:DEBUG_OPTS:set DEBUG_OPTS=-Xdebug-Xrunjdwp:transport=t_socket,address=1044,server=y,suspend=n;

Ⅲ)插入新变量在We blogic启动命令中,放在"%JAVA_HOME%\bin\java"后和其他配置参数前。

Ⅳ)启动Java脚本。

2)调试IBM Web Sphere的配置参数:

Ⅰ)打开Web Sphere 5.X/6.X控制台;

Ⅱ)打开Servers|Application Servers|[SERVERNAME]|Process Definition|Java Virtual Machine;

Ⅲ)注册Debug Mode;

Ⅳ)在Debug arguments域中编辑参数。

3)调试JBoss的配置参数:

除了需要修改JBOSS_HOME/bin下的run.bat/run.sh外,其他和Web Logic相同。

4)调试Tomcat配置参数:

调试Tomcat非常类似于Web logic和JBoss,但是,需要修改TOMCAT_HOME/bin下的catalina.bat/catalina.sh文件。

对于非windows平台下的操作系统来说,需要把%TOMCAT_HOME%/bin/startup.sh中的最后一行exec“$PRGDIR”/“$EXECUTABLE”start“$@”中的start改成jpda start。

Ⅰ)安装解压版本的Tomcat,因为现在好像Tomcat的Windows安装版目录下没有catalina.sh(.bat)文件了;

Ⅱ)修改bin/catalina.sh(.bat)中关于JPDA_ADDRESS端口的地方,比如默认情况下,此项配置是JPDA_ADDRESS=“8000”,现在将其修改为我们想使用的端口,这里默认使用8000端口;

Ⅲ)启动Tomcat,在命令行模式下进入${CATALINA_HOME}/bin目录,输入catalina.sh(bat)jpda start;

Ⅳ)catalina.bat文件默认的JPDA_TRANSPORT是dt_shmem,但是Eclipse只支持dt_socket,所以需要在catalina.bat中添加一行set JPDA_TRANSPORT=”dt_socket”;

Ⅵ)catalina.bat文件默认的端口是jdbconn,如果不知道这个端口是多少,添加一个set JPDA_ADDRESS=“8000”。

如果8000端口有其他用处的话,那么还需要修改catalina.sh文件,看其中的说明,添加一行JPDA_ADDRESS="1044"或者其他你指定的端口。这样就可以通过startup.sh或者catalina.sh jpda start来其中支持远程调试的tomcat了。

2、调试机验证步骤:

在调试模式下启动你的应用程序,只需要确保服务器正在监听1044端口,你可以运行netstat/a,你将会在打开的端口列表中看到1044端口。

1)Eclipse远程调试特性设置:

Eclipse是一个图形化Java调试器前端。JDI在org.eclipse.jdt.debug包中实现;

2)我们首先应该知道要使用哪个Eclipse连接器,要了解Eclipse提供的远程连接类型,您可以转到Eclipse菜单并选择Run>Debug Configurations,在Remote Java Application中添加一个启动配置,然后从下拉列表中选择连接器,在Ganymede中共有两个连接器:

Ⅰ)Socket Attach;

Ⅱ)Socket Listen。

3、远程调试应用程序:

1)使用简单类创建一个Java项目;

2)设置一个断点;

3)在调试应用程序之前,确保已经为项目启用调试选项。从本地调试应用程序是没有必要的,但是这可以确保是否所有调试信息都可用。右键单击Java项目,并选择Debug As,然后选择Java Application。如果应用程序在断点处停止执行,则表明调试信息正确显示。这时,可以继续使用这些调试特性,比如显示调试堆栈、变量或断点管理等等。

4、从本地调试应用程序。

5、导出Java项目:

我们将使用这个应用程序作为调试目标。右键单击Java项目,选择Export,然后选择Java,最后选择JAR file或Runnable JAR file导出项目。将在指定的位置生成JAR文件(即归档文件)。注意,如果Java源代码与目标应用程序不匹配,调试特性将不能正常工作。

6、手动运行Java应用程序:

1)打开控制台手动启动应用程序,确保正确配置了Java运行时环境;

2)对于监听套接字的连接器,Eclipse VM将是与远程Java应用程序连接的主机。对于连接套接字的连接器,目标VM将作为主机。这两种连接器对应用程序调试没有影响,用户可以任意选择。但根据经验,需要使用速度更快、更强大的计算机作为VM调试主机,因为需要计算的资源很多。

7、远程调试应用程序:

将JAR文件复制到远程计算机或同一台计算机上的适当位置,调用调试服务器,然后为它添加一个客户机。简单的Java应用程序就可以充当调试服务器或客户机。您可以在Eclipse中选择Socket Attach或Socket Listen连接类型,这取决于用户的配置。

1)作为调试服务器的目标VM:

如图5所示,下面这个示例远程调用Java应用程序作为调试服务器,并在端口8000监听套接字连接。目标VM将暂停,直到调试器连接。

Eclipse连接套接字模式下的VM调用示例:

java-Xdebug-Xrunjdwp:transport=dt_socket,server=y,address=“8000”-jar test.jar。

使用远程启动配置启动Eclipse,并指定远程应用程序的目标VM地址。为此,单击Run>Debug Configurations,然后在Eclipse菜单中双击Remote Java Application。从最新创建的启动配置中为目标应用程序指定IP和端口。为了在同一台机器上运行远程应用程序,仅需将主机IP指定为localhost或127.0.0.1,具体包括以下步骤:

Ⅰ)在Eclipse开发环境中运行调试机;

Ⅱ)Eclipse中套接字监听方式启动调试,监听接口8000端口;

Ⅲ)监听8000端口;

Ⅳ)配置通信连接,并启动应用程序进行调试,以对客户机中的应用程序进行调试。

2)作为调试客户机的目标VM:

如图6所示,第二个示例使用一个简单的Java应用程序作为调试客户机,并且调试器前端作为调试服务器。Eclipse使用套接字连接类型进行监听,必须先启动调试前端来监听特定的端口,具体包括以下步骤:

Ⅰ)在Eclipse开发环境中运行调试机;

Ⅱ)Eclipse中套接字连接方式启动调试,监听接口1044端口;

Ⅲ)监听1044端口;

Ⅳ)配置通信连接,并启动应用程序进行调试,以对客户机中的应用程序进行调试。

值得特别指出的是,在调试Java应用程序之前,需要确保已经为远程应用程序启用所有调试选项。如果选项信息不可用,您将收到一个错误信息,比如“Debug information is not available”或“Unable to install breakpoint due to missing line number”。还可以通过更改Eclipse菜单上的Window>references>Java>Compiler来修改设置。

在本说明书的描述中,术语“一个实施例”、“另一个实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或实例。而且,描述的具体特征、结构、材料或特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

以上结合附图详细说明了本发明的技术方案,通过本发明的技术方案,如何提供一种新的远程调试应用程序的技术方案,以实现对远程终端中运行的应用程序的实时调试的技术问题。提出了一种新的远程调试应用程序的技术方案,通过本发明技术方案,实现了对远程终端中运行的应用程序的实时调试,一方面,通过套接字方式监控调试接口,不必停止应用程序的运行,另一方面,解决了日志无效降低调试效率的问题。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1