2014-06-10 107 views
4

我试图远程调试应用程序。 虽然配置我给标准(套接字连接)连接类型。远程调试Eclipse:无法连接到远程VM

当我调试它时,我得到以下异常。

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) 

它可能是什么原因?

+0

你设置的JVM调试选择? – NaaN

+1

确保您已经在服务器端配置了通过Eclipse访问的端口,并且服务器知道它用于调试连接。还要确保在您尝试连接时端口处于打开状态(例如,未被其他人使用或其他人试图除您以外的应用程序调试) –

回答

1

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

有麻烦和解决它们后我可以很好地调试。

我回答了in this thread

顺便说一句,你可以停止你的防火墙,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" 

希望能帮到