无法连接到远程VM。 拒绝连接。 尝试在Flash Builder 4.7中调试远程Java应用程序时

有一次,远程调试曾经工作过。 但对于我的生活,我似乎无法弄清楚是什么打破了它。

我有一个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。 拒绝连接。 !STACK 0 java.net.ConnectException:连接被拒绝:连接java.net.PlainSocketImpl.socketConnect(本机方法)java.net.PlainSocketImpl.doConnect(未知来源)at java.net.PlainSocketImpl.connectToAddress(Unknown Source)at at来自java.net.Socket.connect(Unknown Source)的java.net.SocksSocketImpl.connect(未知源)java.net上的java.net.Socket.connect(Unknown Source)java.net.Socket.connect(Unknown Source)java.net中的java.net.SocksSocketImpl.connect(Unknown Source)。来自java..S.Thread.run的org.eclipse.jdi.internal.connect.SocketTransportService $ 2.run(SocketTransportService.java:136)的java.net.Socket。(未知来源)的net.Socket。(未知来源)未知来源)

以下是调试配置的屏幕截图。 屏幕截图的调试配置

在-vm参数之后,每个调试参数必须单独放在一行中。 这应该是诀窍:

 -vmargs -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000 

经过多次挣扎,我终于明白了。 我不得不做两处改动。

  1. 我在我的catalina.properties文件中添加了tomcat.enable.debug = true。
  2. 在我的wrapper.conf中,我有以下几行。

    wrapper.java.additional.9 =“ – Xmx2048m”wrapper.java.additional.10 =“ – XX:MaxPermSize = 1024m”

我的MaxPermSize设置为小于Xmx的大小。 我不得不将1024更改为2048。

然后我重新启动了我的tomcat,它终于工作了!

Eclipse对于此错误“连接被拒绝”并不是非常冗长。 一个人必须在这里检查三个条目。
1.全限定主机名或IP
2.正确的端口号。
3.在Tomcat级别下面是:

某些版本的Tomcat具有“dt_shmem”条目而不是“dt_socket”。 在catalina.bat中将其更改为dt_socket。 该行应如下所示:
set JPDA_TRANSPORT=dt_socket

我们必须正确地以远程模式启动Tomcat,否则只是设置相关变量无法解决问题。 我的解决方案在下面,适用于我的情况: 连接拒绝问题解决方案