无法连接到Eclipse中的VM

时间:2013-10-28 11:24:54

标签: java eclipse debugging jdwp

当我尝试在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 \中更改主机文件 - 删除2行之前的注释(#)符号,

    127.0.0.1 localhost

    :: 1 localhost

    并重新启动。

  3. 关闭所有防火墙,重新启动Eclipse并重试。仍然没有运气。
  4. 有人请帮帮我,我疯了。

    由于

    Sousa的

17 个答案:

答案 0 :(得分:8)

我刚发现:Avast! 2014我拥有它,所以它适合。如果你这样做,那可能就是你的问题。

答案 1 :(得分:6)

我正在使用Mac而且我遇到了类似的问题。我之前对/ etc / hosts文件进行了更改,现在我已将其恢复为如下所示: -

    127.0.0.1       localhost

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

答案 2 :(得分:3)

经过很多压力和很多时间后,问题现在得到了解决。虽然我以一种非常怪异的方式对我不开心,因为我无法弄清楚它背后的基本原理。无论如何,这里发生了什么,也许有人可以更多地了解可能是问题的根本原因。

我完全从我的系统中卸载了Eclipse和Java。

然后我重新安装了最新版本的Java(之前我也有同样的版本)。

但这次我把它安装在标准目录中,而不是我以前使用的自定义目录(可能这里第一次出错了)。

然后我重新安装了Eclipse(最新版本)。

就这样,它全部开始正常工作,调试模式和一切!

我立即想到的是系统环境变量可能会以某种方式发生变化。但我不明白如果没有触及任何东西,这怎么可能发生。

答案 3 :(得分:2)

我认为问题是因为你设置了错误的路径jre .try右键单击你的项目并单击运行配置并设置jre正确的路径。你能否详细说明一下这个问题。

答案 4 :(得分:2)

我遇到了同样的问题。事实证明我已经更改了我的/ etc / hosts文件,其中ip地址127.0.1.1被注释掉了。取消注释后,它又开始工作了。

答案 5 :(得分:2)

Simply restart your PC,这听起来很傻,但大部分时间都有效。 我的PC没有avast,但仍然遇到了这个问题。

刚重启我的电脑和调试工作,我不确定究竟是什么问题。

答案 6 :(得分:1)

禁用Windows防火墙,没关系。 测试。

答案 7 :(得分:0)

我通过增加这些设置来修复它

enter image description here

答案 8 :(得分:0)

我的调试器在测试连接到JRE之前超时。

我增加了java / debug的“调试器超时”设置,并能够运行测试。

参考:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=123118

答案 9 :(得分:0)

就我在Mac上的情况而言,"debug attach"中的launch.json块设置为端口0.

我只是将其更改为其他内容(8899),并且有效。

答案 10 :(得分:0)

就我而言,这是以管理员身份运行Eclipse的问题。一旦我这样做,问题就解决了。

答案 11 :(得分:0)

我得到了这个: 无法启动剪贴簿VM com.sun.jdi.connect.TimoutException

我关闭了Eclipse,禁用了Avast!防火墙(建议但仅持续10分钟),重新启动Eclipse,此时我从Windows防火墙收到有关阻止某些Eclipse功能的消息。 我检查了公共网络&#34;复选框(我在雇主提供的网络上通过wifi),重新启动Eclipse和&#34;瞧瞧&#34;它再次工作。

Windows Firewall Notification - Screen grab

答案 12 :(得分:0)

如果您使用的是Windows操作系统,也许此命令可以帮助您:

netsh winsock reset

答案 13 :(得分:0)

在我的设置长时间工作之后,相同的症状突然出现了。原因是我的/ etc / hosts文件中出现了一行无效的行(我在那里添加了虚拟网卡,并将其翻译为&#39; localhost&#39;)。删除该行修复它。

对于具有C背景的人来说,在调试本地Java应用程序时Eclipse读取/ etc / hosts有点令人惊讶,但似乎是这种情况。

答案 14 :(得分:0)

使用剪贴簿时,我遇到了类似的问题。 Fireval处于游戏模式。然后我关闭了Fireval,剪贴簿开始工作。

答案 15 :(得分:0)

对我来说,启动Jetty-server并在我的Windows 7 64位PC中安装了 McAfee Antivirus Protection 软件时遇到了这个问题,正如其他人提到的那样,我在防火墙上打了 strong>选项并重新启动eclipse工作区并再次启动服务器。 有效!!!

Listening for transport dt_socket at address: 9000

我怀疑有没有办法在不禁用防火墙的情况下启用端口,或者可能将我的防病毒软件允许的特定端口列入白名单,因为这不会经常更改。如果找到更新,会发布更新。

答案 16 :(得分:0)

有时当您尝试调试应用程序时,您将收到类似

的错误
Cannot connect to VM 
com.sun.jdi.connect.TransportTimeoutException
FATAL:----------
ERROR:------------
ERROR:----------
WARN:-------------

我建议你关闭你的AVAST! FIREWALL并重新启动系统,然后尝试调试您的应用程序。它会正常工作。

由于 LOKESH