从Eclipse IDE启动Debug时出现以下错误。
消息:
“Failed to connect to remote VM. Connection Refused”
可能是什么原因?
答案 0 :(得分:30)
您是否设置了远程VM以接受连接?
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=10000,suspend=n yourServer
路上是否有防火墙?
您是否指定了正确的主机/端口?
您是否已连接到VPN?
答案 1 :(得分:26)
转到常规首选项(Windows - >偏好设置)中的网络连接,然后设置" Active Provider"到"直接"
之后重新启动Eclipse
答案 2 :(得分:5)
David Citron是对的 - 如果localhost没有正确解析,可能会导致此问题。以下是测试方法:
如果您的PC 未连接到网络(没有WiFi,没有网络电缆),它可以正常工作。如果在这些条件下工作,则可能需要确保地址正确解析为localhost
。 DDMS和adb.exe用于调试和与VM通信的消息必须正确解析为PC上的localhost
。 (是的,奇怪的是使用DDMS和adb的其他命令工作得很好,但调试没有。似乎DDMS或adb中的某些东西需要标准化,所以它们都在相同的条件下工作。)
如果您需要确保正确解析localhost
:
1)确保此行位于/Windows/System32/drivers/etc/hosts
文件中:
127.0.0.1 localhost
(“127.0.0.1”和“localhost”之间可以有任意数量的空格)
并且 - 正如David Citron建议的那样 - 确保hosts文件有效且不存在任何错误或错误。
2)如果这不起作用,那么您可能还需要将PC的IPv4地址添加到hosts文件中,并将其解析为localhost
。 (您可以使用ipconfig
命令查找计算机的IPv4地址。)例如,如果您的计算机的IPv4地址为192.168.1.100
,那么您需要添加该行
192.168.1.100 localhost
到您的主机文件。 (您可以在文件中的“127.0.0.1 localhost”行下面添加它。)
您可以使用netstat -b
命令验证adb(以及运行的adb)是否正在侦听端口。 (请注意,您需要-b
选项的管理员权限。我使用“以管理员身份运行”打开命令窗口。)
答案 3 :(得分:4)
使用0.0.0.0
地址可以从任何远程计算机连接,例如:
-Xdebug -Xrunjdwp:transport=dt_socket,address=0.0.0.0:8000,server=y,suspend=y
答案 4 :(得分:2)
添加到您的运行脚本:
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
答案 5 :(得分:2)
I solved it setting in Eclipse:
Windows --> Preferences --> Java --> Debug --> Debugger timeout: 10000
Before I had set "Debugger timeout: 3000
" and I had problems with timeout.
答案 6 :(得分:2)
我们的开发映像上只安装了Tomcat服务,因此设置环境变量等没有任何影响。如果您需要通过Tomcat Windows服务执行此操作,您需要注意以下几点:
答案 7 :(得分:1)
如果您使用的是Windows操作系统,请在tomcat配置Tomcat6\bin\startup.bat
中替换行。
替换
call "%EXECUTABLE%" start %CMD_LINE_ARGS%
与
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
答案 8 :(得分:1)
另一种可能性是调试代理绑定到错误的网络接口。
我尝试在VirtualBox VM中调试Windows 10 JVM时,我刚刚看到这个,并且我尝试从VirtualBox主机上运行的Eclipse进行连接。就我而言,代理仅绑定到127.0.0.1
接口。
要修复,您可以限定address
,包括要绑定到的接口的IP。例如:
java -agentlib:jdwp=transport=dt_socket,server=y,address=192.168.0.5:8000,suspend=n <other arguments>
答案 9 :(得分:1)
此错误的可能原因:
您还可以查看此how to guide on eclipse remote debugging了解详情。
答案 10 :(得分:1)
对我有用的解决方案很奇怪
答案 11 :(得分:1)
以下对我有用:从
编辑tomcatstartup.sh
的最后一行
exec "$PRGDIR"/"$EXECUTABLE" start "$@"`
到
export JPDA_ADDRESS=8000 export JPDA_TRANSPORT=dt_socket
exec "$PRGDIR"/"$EXECUTABLE" jpda start "$@"
答案 12 :(得分:1)
如果您需要调试在Tomcat上运行的应用程序,请确保您的 Tomcat-folder / bin / startup.bat (如果使用的是Windows)包含以下行:
set JPDA_TRANSPORT="dt_socket"
set JPDA_ADDRESS=8000
call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%
答案 13 :(得分:0)
我将添加一个可能的解决方案,如果您在虚拟机(vmware等)上运行此解决方案,则主机或其他VM上的某些其他进程可能已经拥有您尝试连接的端口。停止其他进程或选择其他端口。
答案 14 :(得分:0)
增加属性的内存值
MEM_PERM_SIZE_64BIT
MEM_MAX_PERM_SIZE_64BIT
setDomainEnv.cmd
的%weblogic_home%\user_projects\domains\your_domain\bin
文件中的
答案 15 :(得分:0)
通过在调试窗口/透视图中断开所有远程Java应用程序并重新启动Eclipse,我解决了这个问题。这样做后我可以再次连接。
答案 16 :(得分:0)
我在安装Quicktime并从classpath中删除QTJava.zip后,为Weblogic收到此错误解决了这个问题。
https://blogs.oracle.com/adfjdev/entry/java_jre7_lib_ext_qtjava
答案 17 :(得分:0)
在Tomcat的nib文件夹中创建setenv.bat文件。 添加SET JPDA_ADDRESS = 8787;覆盖jpda端口 打开cmd,使用catalina jpda start转到Tomcat的bin文件夹和Start tomcat 在eclipse上设置调试点 接下来编译你的项目。 检查localhost:8080 / 在webapps文件夹下部署war或jar,这必须在Tomcat上部署war。 然后发送请求。调试点将被击中 注意:不要编辑catalina.bat文件。在setenv.bat文件中进行更改
答案 18 :(得分:0)
如果您使用的是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"
答案 19 :(得分:0)
我尝试过这里提到的几件事,但下面的方法对我有用:
转到Eclipse的调试控制台,您可以在其中找到已存在的进程的名称。 右键单击该进程并选择&#34;终止并删除&#34;,这将终止该进程。 现在尝试再次启动该过程,它将起作用。
答案 20 :(得分:0)
在我的情况下,我将Windows防火墙关闭
1-单击“开始”按钮“开始”按钮的图片,然后单击“控制面板”,打开“Windows防火墙”。在搜索框中,键入firewall,然后单击“Windows防火墙”。
2-单击“打开或关闭Windows防火墙”。需要管理员权限如果系统提示您输入管理员密码或进行确认,请键入密码或提供确认。
3-单击要停止尝试保护的每个网络位置下的“关闭Windows防火墙(不推荐)”,然后单击“确定”。 这个页面有用吗?
有时您还需要
答案 21 :(得分:0)
我遇到了在Ubuntu上运行Tomcat的问题。问题是selinux已启用,由于某种原因它不会让Eclipse连接到调试端口。禁用selinux或将其置于许可模式为我解决了这个问题。
答案 22 :(得分:0)
我正在使用jboss,因此重启问题的解决方案。
service jboss-portal restart
答案 23 :(得分:0)
我在Hybris遇到过这样的事。
1.2如果是,则需要在project.properties
中更改属性1.3更改您的地址,任何可用的地址。在我的情况下,我从8000改为8080.然后保存。
java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8080,suspend=n yourServer
在您的控制台中,使用命令&#39; ant all&#39;
然后使用命令&#39; hybrisserver.bat debug&#39;
答案 24 :(得分:0)
注意:对于通过管理控制台登录的glassfish服务器 - &gt;配置 - &gt; server-config - &gt; JVM的设置。 *请记住选中Debug的Enable复选框。现在 注意地址,这个地址将用于eclipse远程Java应用程序调试的端口。Check the snap shot in glassfish server here
答案 25 :(得分:0)
再次卸载并安装ADT android插件。