Eclipse远程调试Java的一种方法

以下谈论的是Applet的远程调试技术,实际上对于其他java程序一样适用,只需要使用文中参数启动java程序即可

-XDebug               启用调试。
-Xnoagent             禁用默认sun.tools.debug调试器。
-Djava.compiler=NONE  禁止 JIT 编译器的加载。
-Xrunjdwp             加载JDWP的JPDA参考执行实例。
transport             用于在调试程序和 VM 使用的进程之间通讯。
dt_socket             套接字传输。
dt_shmem              共享内存传输,仅限于 Windows。
server=y/n            VM 是否需要作为调试服务器执行。
address=3999          调试服务器的端口号,客户端用来连接服务器的端口号。
suspend=y/n           是否在调试客户端建立连接之后启动 VM 。

Java远程调试方式,两种方式进行远程调试

上面的表示是Eclipse配置为Socket Listen方式,下面的是Socket Attach方式

对于远程程序上图表示主动链接调试器,下图表示远程程序正常运行 允许调试器连接jvm

Eclipse配置: 菜单(Eclipse):Run-->Debug Configurations打开调试配置面板,如图配置

左侧新建一个远程调试

左侧Project:源代码工程

左侧Connection Type:调试方式

左 侧Connection Properties:配置与Connection Type相关的调试连接属性

Standard(Socket Attach)方式调试:

左侧Connection Type:Standard(Socket Attach)

左侧Connection Properties:

host:192.168.228.7 (远程java主机ip)

Port: 9998 (远程java配置的调试端口)

Console代码
  1. 远程java程序配置     
  2. /prog/java/jdk/bin/jcontrol     
  3. #window系统在(控制面板->其他程序->java)打开"Java Control Panel"配置对话框     
  4. #在打开远程java主机的"Java Control Panel"配置对话框 进行配置     
  5. #-Xdebug -Xrunjdwp:transport=dt_socket,address=9998,server=y,suspend=n     
  6. #如图   
远程java程序配置
/prog/java/jdk/bin/jcontrol
#window系统在(控制面板->其他程序->java)打开"Java Control Panel"配置对话框
#在打开远程java主机的"Java Control Panel"配置对话框 进行配置
#-Xdebug -Xrunjdwp:transport=dt_socket,address=9998,server=y,suspend=n
#如图

先启动远程java程序 然后 启动Eclipse远程调试,现在可以正常调试系统了

缺点 :只有java程序启动后才能进行调试,无法调试java程序的启动过程,如果要全程调试需要使用下面的方式

优点 :可以随时连接到远程java程序进行调试,没尝试过多机同时调试一个远程java 

Standard(Socket Listen)方式调试:

左侧Connection Type:Standard(Socket Listen)

左侧Connection Properties:配置Port为9999

远程java程序配置

Sh代码
  1. /prog/java/jdk/bin/jcontrol     
  2. #window系统在(控制面板->其他程序->java)打开"Java Control Panel"配置对话框     
  3. #在打开远程java主机的"Java Control Panel"配置对话框 进行配置     
  4. #-agentlib:jdwp=transport=dt_socket,suspend=y,address=192.168.228.7:9999    
  5. #address:Eclipse程序所在的主机的IP和调试端口     
  6. #如图   
/prog/java/jdk/bin/jcontrol
#window系统在(控制面板->其他程序->java)打开"Java Control Panel"配置对话框
#在打开远程java主机的"Java Control Panel"配置对话框 进行配置
#-agentlib:jdwp=transport=dt_socket,suspend=y,address=192.168.228.7:9999
#address:Eclipse程序所在的主机的IP和调试端口
#如图

先启动Eclipse远程调试,然后启动远程java程序 现在可以正常调试系统了

缺点 :不能随时连接到远程java程序进行调试

优点 :可以调试java程序启动过程

猜你喜欢

转载自john521.iteye.com/blog/1879805
今日推荐