远程调试Eclipse:无法连接到远程虚拟机

5

我正在尝试远程调试一个应用程序。 在配置时,我选择了标准(Socket Attach)连接类型。

当我进行调试时,我遇到了以下异常。

com.sun.jdi.connect.spi.ClosedConnectionException
at org.eclipse.jdi.internal.connect.SocketTransportService.readHandshake(SocketTransportService.java:209)
at org.eclipse.jdi.internal.connect.SocketTransportService.access$7(SocketTransportService.java:201)
at org.eclipse.jdi.internal.connect.SocketTransportService$3.run(SocketTransportService.java:172)
at java.lang.Thread.run(Unknown Source)

可能的原因是什么?

你设置了JVM调试选项吗? - Nidheesh
1
请确保你已经在服务器端配置了通过Eclipse访问的端口,并且服务器知道该端口是用于调试连接的。同时,当你尝试连接时,请确保该端口是开放的(例如没有被其他程序使用或其他人除你以外尝试调试应用程序)。 - Ceiling Gecko
1个回答

1

当我需要在OSGI服务器上进行调试时,我遇到了类似的问题。

有一系列的问题,解决后我才能很好地进行调试。

我在此帖子中回答了这个问题。

顺便说一下,你可以尝试停止防火墙,如果是iptables,则必须执行以下操作:

service iptables stop

你可以尝试修改调试端口并尝试访问它。另一个测试是使用其他工具(如JDebugTool)进行调试,以检查是否是Eclipse的问题。
如果你使用Ant,请验证你的javac是否已正确配置:
<javac srcdir="..." destdir="..." classpathref="..." debug="true" debuglevel="lines,vars,source" />

在Eclipse中,请确认您拥有以下内容:

windows > preferences > Java > compiler -> "Classfile generation" -> check "Add line number attributes to generated class file"

希望能够帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接