进行远程调试简单来说:只需要在java 命令后面添加上如下的参数:
-Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y
例如:原先是这样启动程序的
java -cp . HelloWorld,
现在就改成这样了
java -Xrunjdwp:transport=dt_socket,server=y,address=8000,suspend=y -cp . HelloWorld
然后一运行就会出现如下的文字:
Listening for transport dt_socket at address: 8000
这就OK了。打开 Eclipse, 在调试里面新增一个 Remote Java Application,Host 填写上启动 Java 程序的那台服务器的地址,Port填写 8000,也就是参数中 address 后面指定的数字。剩下就跟平常一样了,断点该设就设,程序动态运行时也可以修改,不用重新拷贝,立刻生效,跟本地运行一样。当然了并不是所有的修改都可以立即生效的,有时还是需要我们把程序重新拷贝一下。
上面各个参数的含义分别是:transport=dt_socket指明了使用网络来传输,所有的平台都支持,server=y指明了启动VM的以调试服务器来执行,address=8000就是端口了,也能指定服务器IP,suspend=y则指定了VM开始的时候暂停,等待与客户端连接,连接上以后才继续执行。

更详细的内容看BEA上的《充分利用 J2EE 调试工具》一文

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.