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.它发生在我身上。
可能的原因为这个错误:
- 您的远程Java应用程序未运行。
- 检查你的主机和端口,很多时候这些条目是不正确的。
- 防火墙不允许访问您的远程端口。
你也可以查看这个如何指导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.bat
replace。
更换
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
同
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
我将添加一个可能的解决scheme,如果您正在虚拟机(vmware等)上运行,则主机或其他VM上的某个其他进程可能已经有了您尝试连接的端口。 要么停止其他进程或select另一个端口。
为我工作的解决scheme很奇怪
- 只需删除所有的中断点
- 以debugging模式重新启动tomcat(使用catalina.sh jpda start)
- 现在尝试连接,它的工作!
在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防火墙(不推荐)”,然后单击“确定”。 此页面是否有帮助?
有时候你也需要
- 要停止所有Vpn客户端服务(fortiClient,vpn客户端…)
- 停止防病毒防火墙(例如Kaspersky => Configuration => Anti-Hacker)
我解决了它在Eclipse中的设置:
Windows --> Preferences --> Java --> Debug --> Debugger timeout: 10000
在设置“ Debugger timeout: 3000
”之前,我有超时问题。
我正在使用jboss所以解决你的问题是重新启动。
service jboss-portal restart
确保你的应用程序服务器已经启动,并听取正确的端口。
我在Hybris遇到过这样的情况。
- 在资源监视器>networking中检查您的端口。 检查其他服务是否正在使用您的端口。
1.2如果是的话,那么你需要在project.properties中改变你的属性
1.3改变你的地址,任何可用的地址。 在我的情况下,我从8000改为8080,然后保存。
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8080,suspend=n yourServer
-
在您的控制台中,使用命令“ant all”重build您的ant
-
然后再次debugging,使用命令“hybrisserver.bat debug”
不要安装jdk 7 ..卸载你的jdk版本7,并用upadets安装JDK 6的任何版本。