Eclipse远程调试Java程序
今天同事问我怎么远程调试 java 程序。我不会,那马上搜索看看。在被高度的程序中加个数据就行。然后 eclipse 调试时指定端口就行,太方便了。
比如,现在有一个代码:
把这个java 导出为 remoting-debug.jar 上传到目标机器(当然本地也行)。然后在目标机器上运行:
java -Xdebug -Xrunjdwp:transport=dt_socket,server=y,address=8000 -jar remoting-debug.jar
会出现:Listening for transport dt_socket at address: 8000
程序正在等待调试。
右击 eclipse 中的 RemotingDebug 代码 -> Debug As ... -> Debug configurations ... 中,双击 Remote Java Application,如:
192.168.1.100 是本地虚拟机。然后就可以方便调试了,太方便了。
延伸:Eclipse 远程调试 Tomcat 程序。
在 tomcat 6 中可以在 startup.bat 尾加 jpda,如下:
set JPDA_ADDRESS=8017
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
如果不要 set JPDA_ADDRESS=8017 也可以,这样就会默认的 8000 端口。
相关词语:
- JDI — Java 调试接口(Java Debug Interface)
- JDT — Java 开发工具(Java Development Tools)
- JDWP — Java 调试网络协议(Java Debug Wire Protocol)
- JPDA — Java 平台调试器架构(Java Platform Debugger Architecture)
- JVM — Java 虚拟机(Java Virtual Machine)
- JVMDI — JVM 调试接口(JVM Debug Interface)
- JVMTI — JVM 工具接口(JVM Tool Interface)
-
VM — 虚拟机(Virtual Machine)
参考:http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/