【问题标题】:Cannot connect to VM in Eclipse无法在 Eclipse 中连接到 VM
【发布时间】:2013-11-07 03:34:28
【问题描述】:

当我尝试在 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 文件 - 即删除两行之前的 cmets (#) 符号,

    127.0.0.1 本地主机

    ::1 本地主机

    然后重新启动。

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

请大家帮帮我,我快疯了。

谢谢

苏萨

【问题讨论】:

    标签: java eclipse debugging jdwp


    【解决方案1】:

    我刚刚找到这个:Avast! 2014 我有它,所以很合适。如果你也这样做,那可能是你的问题。

    【讨论】:

    • 是的。我有阿瓦斯特! 2014 年也是如此。碰巧我认为我的 Avast!互联网安全试用版在我找到解决方案的同一天到期。但是,我知道这可能是我的防火墙的问题,所以在它过期之前,我尝试了几次关闭防火墙并运行 Eclipse,但都没有成功。
    • 仅供参考:禁用 Avast 对我没有帮助,所以我放弃并卸载它(付费版本)调试再次开始工作重启后。现在我正在使用“Windows Defender”:D(将不得不购买其他东西;我不信任 M$)
    • 我还尝试禁用 Avast 十分钟或其他任何时间,但它没有改变任何东西,所以我认为它不起作用。但是,我不情愿地卸载了它,现在我的谷歌应用引擎解决方案可以正确编译。非常感谢!!!
    【解决方案2】:

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

        127.0.0.1       localhost
    

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

    【讨论】:

      【解决方案3】:

      经过很大的压力和很多时间,现在问题已经解决了。尽管以一种非常怪异的方式并没有使我感到有趣,因为我无法弄清楚其背后的原理。无论如何,这就是发生的事情,也许有人可以进一步了解问题的根本原因。

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

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

      但是这次我将它安装在标准目录中,而不是我之前使用的自定义目录中(可能是第一次出现问题)。

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

      就这样,一切又开始正常工作了,调试模式和一切!

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

      【讨论】:

        【解决方案4】:

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

        【讨论】:

        • 但如果问题出在 jre 路径上,它总是会发生,对吗?我面临的问题是它突然开始发生..我不记得在它开始发生之前进行任何更改..我在想我的计算机上可能会自动更新一些东西,因为它不再运行了?我不知道..我已经在 Eclipse 和同一个项目文件中工作了好几个星期了,以前没有发生过这样的事情..
        【解决方案5】:

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

        【讨论】:

          【解决方案6】:

          Simply restart your PC, 这听起来很傻,但大多数时候都有效。, 我的电脑上没有avast,但还是遇到了这个问题。

          刚刚重新启动我的电脑并调试成功,但我不确定到底是什么问题。

          【讨论】:

            【解决方案7】:

            禁用windows防火墙就OK了。 经过测试。

            【讨论】:

              【解决方案8】:

              有时当你尝试调试你的应用程序时,你会得到类似的错误

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

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

              谢谢 洛克什

              【讨论】:

              • 你不需要重启你的机器!只是禁用防火墙。
              【解决方案9】:

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

              Listening for transport dt_socket at address: 9000

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

              【讨论】:

                【解决方案10】:

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

                【讨论】:

                  【解决方案11】:

                  在我的设置长时间运行良好后,突然出现了相同的症状。原因在我的 /etc/hosts 文件中出现了一个无效行(我在此处添加了虚拟 NIC 的 ip 并转换为“localhost”)。删除该行将修复它。

                  对于具有 C 背景的人来说,当您调试本地 Java 应用程序时,Eclipse 读取 /etc/hosts 有点令人惊讶,但事实似乎就是这样。

                  【讨论】:

                    【解决方案12】:

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

                    netsh winsock reset
                    

                    【讨论】:

                    • 你能解释一下为什么这将有助于解决 OP 的问题吗?
                    • 我安装了一个名为everything的搜索引擎软件,然后eclipse调试无法工作,控制台显示:无法连接到VM,重置Winsock,slove它。
                    【解决方案13】:

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

                    我关闭了 Eclipse,禁用了 Avast!防火墙(按照推荐但仅持续 10 分钟),重新启动 Eclipse,此时我从 Windows 防火墙收到一条消息,提示我阻止了一些 Eclipse 功能。 我检查了“公共网络”复选框(我在雇主通过 wifi 提供的网络上),重新启动 Eclipse 并“瞧”,它又可以工作了。

                    Windows Firewall Notification - Screen grab

                    【讨论】:

                      【解决方案14】:

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

                      【讨论】:

                        【解决方案15】:

                        在我的 Mac 上,launch.json 中的 "debug attach" 块设置为端口 0。

                        我只是将其更改为其他内容(8899),并且它起作用了。

                        【讨论】:

                          【解决方案16】:

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

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

                          参考:

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

                          【讨论】:

                            【解决方案17】:

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

                            【讨论】:

                              猜你喜欢
                              • 2010-11-01
                              • 2012-03-26
                              • 2014-03-13
                              • 2014-07-31
                              • 1970-01-01
                              • 2018-11-18
                              • 2011-10-20
                              • 1970-01-01
                              相关资源
                              最近更新 更多