有一次,远程调试曾经工作过。但对于我的生活,我似乎无法弄清楚是什么打破了它。
我有一个flex / Java应用程序。有一个启动tomcat服务器的包装器。我修改了wrapper.conf文件以包含
-Xdebug -Xrunjdwp:transport = dt_socket,address = 8000,server = y,suspend = n
在我的flex调试配置中,在左侧,我有远程Java应用程序。在右边,我有标准(套接字连接)作为连接类型,127.0.0.1(我也尝试过localhost)作为主机,8000作为端口。
以下是堆栈跟踪。
!ENTRY org.eclipse.jdt.launching 4 113 2013-09-03 11:30:49.109 !MESSAGE无法连接到远程VM。拒绝连接。 !堆栈0 java.net.ConnectException:拒绝连接:connect at java.net.PlainSocketImpl.socketConnect(Native Method)at java.net.PlainSocketImpl.doConnect(未知来源)at java.net.PlainSocketImpl.connectToAddress(未知来源)at java.net.PlainSocketImpl.connect(未知来源)at java.net.SocksSocketImpl.connect(未知来源)at java.net.Socket.connect(未知来源)at java.net.Socket.connect(未知来源)at java.net.Socket。(未知来源)at java.net.Socket。(未知来源)at org.eclipse.jdi.internal.connect.SocketTransportService $ 2.run(SocketTransportService.java:136) 在java.lang.Thread.run(未知来源)
以下是调试配置的屏幕截图。
答案 0 :(得分:5)
经过多次挣扎,我终于明白了。我不得不做两处修改。
在我的wrapper.conf中,我有以下几行。
wrapper.java.additional.9 = “ - Xmx2048m” wrapper.java.additional.10 = “ - XX:MaxPermSize参数=1024米”
我的MaxPermSize设置为小于Xmx的大小。我不得不将1024更改为2048.
然后我重新启动了我的tomcat,它终于工作了!
答案 1 :(得分:4)
每个调试参数必须在-vm参数之后单独放在一行中。这应该可以解决问题:
-vmargs
-Xdebug
-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
答案 2 :(得分:1)
Eclipse对于此错误并不是非常冗长"连接被拒绝"。一个人必须在这里检查三个条目
1.全限定主机名或IP
2.正确的端口号。
3.在Tomcat级别下面:
某些版本的Tomcat有" dt_shmem"输入而不是" dt_socket"。在catalina.bat中将其更改为dt_socket。
该行应如下所示:
set JPDA_TRANSPORT=dt_socket
答案 3 :(得分:0)
我们必须正确地以远程模式启动Tomcat,否则只是设置相关变量无法解决问题。我的解决方案如下,适用于我的情况: Connection refused problem solution
答案 4 :(得分:0)
如果您验证Eclipse配置设置,并且发现主机名/ IP和端口名均正确,请尝试重新启动Eclipse