无法在Eclipse中连接到虚拟机

15

我在尝试调试我的 Eclipse 项目时突然遇到了这个奇怪的错误。我不记得有任何更改导致这个问题突然发生。

'Launching <my program name>' has encountered a problem.
Cannot connect to VM.

错误的详细信息:

Cannot connect to VM
com.sun.jdi.connect.TransportTimeoutException

此外,在控制台中我得到了以下错误:

FATAL ERROR in native method: JDWP No transports initialized, 
jvmtiError=AGENT_ERROR_TRANSPORT_INIT(197)
ERROR: transport error 202: connect failed: Connection timed out
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized     
[../../../src/share/back/debugInit.c:750]

请告诉我如何解决这个问题。我已经在整个网络上搜索了答案,但没有找到。
我尝试了其他人成功的以下解决方案:
  1. 重新启动Eclipse,重新启动计算机。

  2. 更改etc\中的hosts文件-删除2行前面的注释符号(#),即

    #127.0.0.1 localhost #::1 localhost 然后重新启动。

  3. 关闭所有防火墙,重新启动Eclipse并重试。仍然没有运气。

19个回答

9

我刚发现这个链接:Avast! 2014,我也有安装它,所以很可能是这个导致了问题。如果你也安装了它,那么这很可能就是你的问题所在。


是的。我也有 Avast! 2014。而且碰巧我认为我的 Avast! 互联网安全试用版就在我找到解决方法的同一天到期了。然而,我知道这可能是我的防火墙出了问题,因此在它到期之前,我尝试了几次关闭防火墙并运行 Eclipse,但都没有成功。 - Menezes Sousa
1
FYI:对我来说禁用 Avast 没有帮助,所以我放弃了并卸载了它(付费版本)。重启后调试又开始工作了。现在我正在使用“Windows Defender” :D(将不得不购买其他东西;我不信任 M$) - Sebastien Diot
1
我也尝试过禁用 Avast 十分钟或其他时间,但没有改变任何东西,所以我认为它没有起作用。然而,我不情愿地卸载了它,现在我的 Google 应用引擎解决方案可以正确编译。非常感谢!!! - Jared Beach

7

我使用的是 Mac,遇到了类似的问题。我之前更改了/etc/hosts文件,但现在已经恢复为以下内容:

    127.0.0.1       localhost

我重新启动了系统,解决了我的问题。


3
经历了很多压力和时间,问题现在已经解决。虽然解决方式非常神奇,但我并不觉得有趣,因为我无法理解它背后的原理。不管怎样,这就是发生的事情,也许有人可以对问题的根本原因提出更多见解。
我从系统中彻底卸载了Eclipse和Java。
然后我重新安装了最新版本的Java(之前我也安装过这个版本)。
但这一次,我将其安装在标准目录而不是之前使用的自定义目录中(可能第一次在这里出了问题)。
然后我重新安装了Eclipse(再次是最新版本)。
就像那样,一切都恢复正常了,调试模式也没问题!
我立即想到的是,系统环境变量可能会以某种方式被改变。但我不明白如何在没有修改任何设置的情况下发生这种情况。

2

我遇到了同样的问题。后来发现我更改了/etc/hosts文件,将IP地址127.0.1.1注释掉了。取消注释后,它又开始正常工作了。


2

我认为问题出在您设置JRE路径错误。请右键单击项目,选择运行配置,并设置正确的JRE路径。您能否详细说明一下问题所在。


3
但如果问题是与jre路径有关的话,它应该一直出现才对,对吧?我遇到的问题是突然间开始出现的...在它开始出现之前,我并没有记得做过任何更改...我在想可能是因为电脑自动更新了一些东西,所以导致它不能再运行了?我不确定...我已经在Eclipse上同一个项目文件上工作了几周,之前从未发生过这样的情况... - Menezes Sousa

1

只需重新启动您的电脑,听起来很傻,但大多数情况下都有效。

我没有在我的电脑上安装avast,但仍然遇到了这个问题。

只需重新启动我的电脑,调试就可以工作了,虽然我不确定问题可能是什么。


1
禁用Windows防火墙,就可以了。已测试。

1

0
有时候当你尝试调试你的应用程序时,你会遇到类似以下的错误信息:
Cannot connect to VM 
com.sun.jdi.connect.TransportTimeoutException
FATAL:----------
ERROR:------------
ERROR:----------
WARN:-------------

我建议您关闭AVAST!防火墙,重新启动系统,然后尝试调试应用程序。这样应该可以正常工作。


您无需重启计算机!只需禁用防火墙即可。 - Kasper

0
在我的情况下,问题是我需要以管理员身份运行Eclipse。一旦我这样做了,问题就解决了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接