远程调试:无法连接到远程虚拟机。连接超时

Posted

技术标签:

【中文标题】远程调试:无法连接到远程虚拟机。连接超时【英文标题】:Remote Debugging: Failed to connect to remote VM. Connection timed out 【发布时间】:2015-02-08 22:35:47 【问题描述】:

我在我的 Ubuntu VM 上使用 Eclipse 对远程 WebLogic 应用程序进行远程调试,然后它停止工作。我在远程服务器中打开了调试。从我的虚拟机我可以远程登录到远程调试端口。我尝试重新启动 Eclipse 并将网络连接设置为 Direct。它只是一直超时。

Failed to connect to remote VM. Connection timed out.
org.eclipse.jdi.TimeoutException

在 .log 中:

!MESSAGE Failed to connect to remote VM. Connection timed out.
!STACK 0
org.eclipse.jdi.TimeoutException
    at org.eclipse.jdi.internal.connect.SocketTransportService.attach(SocketTransportService.java:162)
    at org.eclipse.jdi.internal.connect.SocketTransportImpl.attach(SocketTransportImpl.java:45)
    at org.eclipse.jdi.internal.connect.SocketAttachingConnectorImpl.attach(SocketAttachingConnectorImpl.java:134)
    at org.eclipse.jdt.internal.launching.SocketAttachConnector.connect(SocketAttachConnector.java:141)
    at org.eclipse.jdt.internal.launching.JavaRemoteApplicationLaunchConfigurationDelegate.launch(JavaRemoteApplicationLaunchConfigurationDelegate.java:84)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
    at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
    at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:1039)
    at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1256)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

【问题讨论】:

所以你为你的服务器设置了java选项,比如:set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n你试过重启服务器吗?您的问题中没有足够的详细信息来提供帮助... 我有 debugFlag=true。这设置了您提到的所有选项。默认地址是 8453。我使用它,目前正在使用 888。我在服务器日志中看到“正在侦听地址:8888 的传输 dt_socket”,所以它正在侦听。我可以在那个地址远程登录,但是当通过 Eclipse 连接时它会超时。我也在 Windows 上尝试过,结果相同。 这与您多年前提出的问题有何不同:***.com/questions/13960258/… 问题不同。查看错误消息。在这种情况下,连接被拒绝。这里超时了,我设置了 debugFlag。服务器正在侦听该调试端口。 “连接被拒绝”在 TCP 中有特定的含义,它与超时无关。你的问题标题说“连接被拒绝”,但你说它超时了?是哪个? 【参考方案1】:

我提高了调试超时(Windows/Preferences/Java/Debug/Communication/Debugger 超时)并重新启动了管理服务器和托管服务器,其中部署了应用程序并正在侦听调试端口。

【讨论】:

【参考方案2】:

最近我遇到了同样的问题,这是我解决后发现的。如果远程服务器端的配置错误,消息应该是“连接被拒绝”而不是“超时”。此外,“超时”也看不到任何wireshark数据包,而“拒绝”给出:

最后发现“超时”的Eclipse的网络连接是手动配置的。你可以在下面检查这个 窗口->首选项->常规->网络连接。如果它是“手动”(就像我所拥有的),请将其更改为“本机”。

【讨论】:

【参考方案3】:

在属性文件中设置java.property.debug=true可能会对您有所帮助。

【讨论】:

【参考方案4】:

** 我在 Eclipse 和 STS(Spring Tool Suits)中解决了它的设置: 只需在 IDE(Eclipse 或 Sts)中编辑此配置,将超时时间值增加两个零就足够了。 Windows --> 首选项 --> Java --> 调试 --> 调试器超时:10000t**

【讨论】:

以上是关于远程调试:无法连接到远程虚拟机。连接超时的主要内容,如果未能解决你的问题,请参考以下文章

Android Emulator 无法连接到 React-Native 远程调试器 - 连接时超时

从SecureCRT连接到虚拟机失败。提示连接超时。求解决办法。200分。

怎么使用远程连接到虚拟机上

远程调试:目标计算机无法连接回此计算机。身份验证失败

vm无法连接到虚拟机

Asmack 18 连接:google.com:5222 异常:无法连接到 talk.google.com 远程服务器超时