Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法连接到远程VM。连接被拒绝。尝试在Flash Builder 4.7中调试远程java应用程序时_Java_Eclipse_Apache Flex_Flash Builder_Flexbuilder - Fatal编程技术网

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

无法连接到远程VM。连接被拒绝。尝试在Flash Builder 4.7中调试远程java应用程序时,java,eclipse,apache-flex,flash-builder,flexbuilder,Java,Eclipse,Apache Flex,Flash Builder,Flexbuilder,远程调试一度可以正常工作。但就我个人而言,我似乎不知道是什么打破了它 我有一个flex/Java应用程序。有一个启动tomcat服务器的包装器。我修改了wrapper.conf文件以包括 -Xdebug-Xrunjdwp:transport=dt_套接字,地址=8000,服务器=y,挂起=n 在我的flex调试配置中,左边是远程Java应用程序。在右边,我将Standard(Socket Attach)作为连接类型,127.0.0.1(我也尝试过localhost)作为主机,8000作为端口 下

远程调试一度可以正常工作。但就我个人而言,我似乎不知道是什么打破了它

我有一个flex/Java应用程序。有一个启动tomcat服务器的包装器。我修改了wrapper.conf文件以包括

-Xdebug-Xrunjdwp:transport=dt_套接字,地址=8000,服务器=y,挂起=n

在我的flex调试配置中,左边是远程Java应用程序。在右边,我将Standard(Socket Attach)作为连接类型,127.0.0.1(我也尝试过localhost)作为主机,8000作为端口

下面是堆栈跟踪

!!条目org.eclipse.jdt.launching 4113 2013-09-03 11:30:49.109 !消息无法连接到远程VM。连接被拒绝!堆栈0 java.net.ConnectException:连接被拒绝:连接在 java.net.PlainSocketImpl.socketConnect(本机方法)位于 java.net.PlainSocketImpl.doConnect(未知源代码)位于 位于的java.net.PlainSocketImpl.connectToAddress(未知源) 位于的java.net.PlainSocketImpl.connect(未知源) 位于的java.net.socksocketimpl.connect(未知源) 位于的java.net.Socket.connect(未知源) 位于的java.net.Socket.connect(未知源) java.net.Socket。(未知源代码)位于 java.net.Socket。(未知源代码)位于 org.eclipse.jdi.internal.connect.SocketTransportService$2.run(SocketTransportService.java:136) 位于java.lang.Thread.run(未知源)

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

每个调试参数必须单独放在一行中,在-vm参数之后。这应该可以做到:

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

经过多次努力,我终于明白了。我不得不做两个改变

  • 我在catalina.properties文件中添加了tomcat.enable.debug=true
  • 在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_套接字。 该行应如下所示:

    设置JPDA_TRANSPORT=dt_socket

    我们必须在远程模式下正确启动Tomcat,否则仅仅设置相关变量无法解决问题。我的解决方案如下,适用于我的情况:

    如果您验证Eclipse配置设置,并看到主机名/IP和端口名都正确,请尝试重新启动Eclipse

    我不理解您在调试配置方面所说的“左侧”和“右侧”是什么意思。如果你指的是Flash Builder /Eclipse屏幕,你可以考虑发布屏幕截图。确保你仍然在运行调试Flash播放器(例如,Chrome更新可以安装一个新版本的Flash播放器或某物)。Sunil,调试flash player似乎正在运行,因为Flex断点可以工作,我可以调试代码的Flex部分。您应该检查端口是否真正打开,例如,使用
    netstat-n-a-p tcp
    应该有一行类似
    tcp 0.0.0.0:8000
    否,我没有看到tcp 0.0.0:8000。事实上,我没有看到列表上有端口8000的任何内容。我已尝试在防火墙(我有Windows 7)的入站规则中打开该端口,然后单击调试配置屏幕中的调试按钮。我仍然收到消息说“无法连接到VM”,netstat仍然没有显示TCP 0.0.0.0:8000。在进行更改后,我的服务器服务甚至无法启动。更改后,服务无法启动,因为它为jvm选项提供了语法错误。