以Debug形式启动Java程序,并通过eclipse进行remote debug。
适用场合:
1.程序运行环境不再本机。
2.程序太大,不想再eclipse里运行。
对于eclipse有两种连接器
socket attach
socket listen
如果是本机调试的话,哪一种都可以。
如果是远程调试的话,看看哪个机子配置好,可用资源多,如果是本机的话,使用socket listen连接器,如果是远程机子的话,使用socket attach
两种连接器在使用的时候也有所不同,
对于socket attach,由于远程是jvm主机,所以要先启动远程程序
启动参数如下
例如
这里要注意的是suspend要设为y,不然程序不会等你和它连接就会执行下去了。
对于socket listen, 由于本机是jvm主机,所以要先启动eclipse的调试程序。
然后再启动远程程序
启动参数如下
更加详细的介绍请参考
[url]http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/index.html[/url]
这篇介绍也挺不错
[url]http://ralf0131.blogbus.com/logs/37064505.html[/url]
适用场合:
1.程序运行环境不再本机。
2.程序太大,不想再eclipse里运行。
对于eclipse有两种连接器
socket attach
socket listen
如果是本机调试的话,哪一种都可以。
如果是远程调试的话,看看哪个机子配置好,可用资源多,如果是本机的话,使用socket listen连接器,如果是远程机子的话,使用socket attach
两种连接器在使用的时候也有所不同,
对于socket attach,由于远程是jvm主机,所以要先启动远程程序
启动参数如下
-agentlib:jdwp=transport=dt_socket,address=8001,server=y,suspend=y
例如
java -agentlib:jdwp=transport=dt_socket,address=8001,server=y,suspend=y com.javaeye.BatchMain
这里要注意的是suspend要设为y,不然程序不会等你和它连接就会执行下去了。
对于socket listen, 由于本机是jvm主机,所以要先启动eclipse的调试程序。
然后再启动远程程序
启动参数如下
-agentlib:jdwp=transport=dt_socket,address=192.168.0.5:8001,server=n,suspend=n
更加详细的介绍请参考
[url]http://www.ibm.com/developerworks/cn/opensource/os-eclipse-javadebug/index.html[/url]
这篇介绍也挺不错
[url]http://ralf0131.blogbus.com/logs/37064505.html[/url]