远程调试:无法连接到远程虚拟机。连接超时
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分。
Asmack 18 连接:google.com:5222 异常:无法连接到 talk.google.com 远程服务器超时