Eclipse错误:“无法连接到远程VM”

Eclipse IDE启动Debug时,出现以下错误。

消息: “Failed to connect to remote VM. Connection Refused” “Failed to connect to remote VM. Connection Refused”

可能是什么原因?

你有没有设置远程虚拟机接受连接?

 java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=10000,suspend=n yourServer 

有没有防火墙的方式?

你指定正确的主机/端口?

你连接到VPN吗?

从eclipse中删除你的代理!

转到常规首选项(Windows – >首选项)中的networking连接,并将“活动提供者”设置为“直接”

删除代理

之后重新启动Eclipse

我们的开发图像只有Tomcat服务的安装,所以设置环境variables等没有任何影响。 如果您需要通过Tomcat Windows服务来执行此操作,则需要注意以下几点:

  • David Citron的评论是我需要让我的连接工作的最后一点。 我们的机器上的主机文件已经注释掉了localhost(这应该是通过DNS来解决的,但是这对于debugging连接不起作用)。 我取消了评论,并能够连接。
  • 如果用户访问控制已打开,则需要使用pipe理员凭据访问服务控制面板或Tomcat监视器应用程序或用于切换服务器状态的任何内容。 监视器应用程序( 这里logging )可能是最好的,因为您可以编辑debugging选项的服务器设置,并启动和停止服务器。
  • 我以为也许你需要以pipe理员身份运行Eclipse才能够终止Tomcat进程,但是你不能。 一旦你有了远程连接,你就可以使用这个服务直到终止。

David Citron是对的 – 如果localhost不能正确解决,可能会导致这个问题。 以下是如何testing:

如果您的电脑没有连接到networking(没有WiFi,没有网线)。 如果它在这些条件下工作 ,那么可能需要确保地址正确parsing到localhost 。 DDMS和adb.exe用于debugging和通信到VM的消息必须正确parsing到PC上的localhost 。 (是的,使用DDMS和adb的其他命令工作得很好,但是debugging没有,这很奇怪,似乎DDMS或adb中的某些东西需要标准化,所以它们在相同的条件下工作。

如果您需要确保事情正确解决到localhost

1)确保这行在你的/Windows/System32/drivers/etc/hosts文件中:

  127.0.0.1 localhost

(“127.0.0.1”和“localhost”之间可以有任意数量的空格)

而且 – 正如David Citron所说 – 确保主机文件是有效的,并且没有错误或错误。

2)如果这不起作用,那么您可能还需要将PC的IPv4地址添加到主机文件,并将其parsing为localhost 。 (您可以使用ipconfig命令find您的机器的IPv4地址。)例如,如果您的机器的IPv4地址是192.168.1.100那么您将添加该行

 192.168.1.100 localhost

到你的主机文件。 (您可以在文件的“127.0.0.1 localhost”行下面添加它。)

你可以通过使用netstat -b命令来validationadb(以及你的模拟器是否在运行)正在监听端口。 (请注意,您需要-b选项的pipe理权限,我使用“以pipe理员身份运行”打开命令窗口。)

添加到您的运行脚本:

 export JPDA_ADDRESS=8787 export JPDA_TRANSPORT=dt_socket export JPDA_HOST=localhost JAVA_OPTS=$JAVA_OPTS -Xms128m -Xmx512m -Dsun.rmi.dgc.client.gcInterval=3600000 JAVA_OPTS=$JAVA_OPTS -Dsun.rmi.dgc.server.gcInterval=3600000 JAVA_OPTS=-Xdebug -Xnoagent -Xrunjdwp:transport=$JPDA_TRANSPORT,address=$JPDA_ADDRESS,server=y,suspend=n $JAVA_OPTS 

检查你是否错误地指定了端口8080而不是8000.它发生在我身上。

可能的原因为这个错误:

  1. 您的远程Java应用程序未运行。
  2. 检查你的主机和端口,很多时候这些条目是不正确的。
  3. 防火墙不允许访问您的远程端口。

你也可以查看这个如何指导eclipse远程debugging的更多细节。

我右键单击debugging透视button并select重置。 它相应地工作。

以下为我工作:编辑tomcat的最后一行startup.sh

 exec "$PRGDIR"/"$EXECUTABLE" start "$@"` 

 export JPDA_ADDRESS=8000 export JPDA_TRANSPORT=dt_socket exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@" 

请注意,端口只能接受一个连接,任何后续连接都将被拒绝。

我已经通过在debugging窗口/透视图中断开所有远程Java应用程序并重新启动Eclipse来解决了这个问题。 这样做后我可以再次连接。

卸载并重新安装ADT android插件。

如果您需要debugging在Tomcat上运行的应用程序,请确保您的Tomcat-folder / bin / startup.bat (如果使用的是Windows)包含以下行:

 set JPDA_TRANSPORT="dt_socket" set JPDA_ADDRESS=8000 call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS% 

我在Ubuntu上运行Tomcat时遇到了问题。 问题是启用selinux,由于某种原因,它不会让Eclipse连接到debugging端口。 禁用selinux或放在宽容模式解决了我的问题。

我安装Quicktime后,得到这个错误的Weblogic,并从类path中删除QTJava.zip解决了这个问题。

https://blogs.oracle.com/adfjdev/entry/java_jre7_lib_ext_qtjava

增加属性的内存值

  • MEM_PERM_SIZE_64BIT
  • MEM_MAX_PERM_SIZE_64BIT

来自%weblogic_home%\user_projects\domains\your_domain\bin setDomainEnv.cmd文件

如果您使用的是Windows操作系统,则在TomcatconfigurationTomcat6\bin\startup.batreplace。

更换

 call "%EXECUTABLE%" start %CMD_LINE_ARGS% 

 call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS% 

我将添加一个可能的解决scheme,如果您正在虚拟机(vmware等)上运行,则主机或其他VM上的某个其他进程可能已经有了您尝试连接的端口。 要么停止其他进程或select另一个端口。

为我工作的解决scheme很奇怪

  1. 只需删除所有的中断点
  2. 以debugging模式重新启动tomcat(使用catalina.sh jpda start)
  3. 现在尝试连接,它的工作!

在Tomcat的nib文件夹中创buildsetenv.bat文件。 添加SET JPDA_ADDRESS = 8787; 覆盖jpda端口打开cmd,进入Tomcat的bin文件夹并使用catalina jpda start启动tomcat在eclipse上设置debugging点接下来编译您的项目。 检查本地主机:8080 /在webapps文件夹下部署war或jar,这必须在Tomcat上部署war。 然后发送请求。 debugging点将被击中注意:不要编辑catalina.bat文件。 在setenv.bat文件中进行更改

如果您使用的是Jboss:

在文件jboss7.1.1 \ bin \ standalone.conf.bat中更改该行:

 rem set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" 

至:

 set "JAVA_OPTS=%JAVA_OPTS% -Xrunjdwp:transport=dt_socket,address=8787,server=y,suspend=n" 

我尝试了几个这里提到的事情,但下面的方法为我工作:

转到Eclipse的debugging控制台,您将在其中find已经存在的进程的名称。 右键单击该进程并select“终止并删除”,这将终止进程。 现在尝试再次启动该过程,它将工作。

在我的情况下,我closuresWindows防火墙

1-通过单击“开始”button“开始”button的图片,然后单击“控制面板”打开Windows防火墙。 在search框中键入防火墙,然后单击Windows防火墙。

2-点击打开或closuresWindows防火墙。 需要pipe理员权限如果系统提示您inputpipe理员密码或进行确认,请input密码或进行确认。

3-在每个要停止尝试保护的networking位置下,单击“closuresWindows防火墙(不推荐)”,然后单击“确定”。 此页面是否有帮助?

有时候你也需要

  1. 要停止所有Vpn客户端服务(fortiClient,vpn客户端…)
  2. 停止防病毒防火墙(例如Kaspersky => Configuration => Anti-Hacker)

我解决了它在Eclipse中的设置:

 Windows --> Preferences --> Java --> Debug --> Debugger timeout: 10000 

在设置“ Debugger timeout: 3000 ”之前,我有超时问题。

我正在使用jboss所以解决你的问题是重新启动。

 service jboss-portal restart 

确保你的应用程序服务器已经启动,并听取正确的端口。

我在Hybris遇到过这样的情况。

  1. 在资源监视器>networking中检查您的端口。 检查其他服务是否正在使用您的端口。

1.2如果是的话,那么你需要在project.properties中改变你的属性

1.3改变你的地址,任何可用的地址。 在我的情况下,我从8000改为8080,然后保存。

 java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8080,suspend=n yourServer 
  1. 在您的控制台中,使用命令“ant all”重build您的ant

  2. 然后再次debugging,使用命令“hybrisserver.bat debug”

不要安装jdk 7 ..卸载你的jdk版本7,并用upadets安装JDK 6的任何版本。