eclipse - 无法从 Eclipse 启动 tomcat 调试 session

标签 eclipse tomcat remote-debugging

我想从 Eclipse 在我的远程主机上启动 Tomcat 调试 session ,但它失败并出现以下错误:

Failed to connect to remote VM
com.sun.jdi.connect.spi.ClosedConnectionException

我认为我的 Tomcat 已正确配置为在端口 8000 上接收调试 session :

tomcat   18771     1  1 17:18 ?        00:00:16 /usr/lib/jvm/java/bin/java -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Djava.rmi.server.hostname=10.30.0.17 -Dcatalina.ext.dirs=/usr/share/tomcat5/shared/lib:/usr/share/tomcat5/common/lib -Djavax.sql.DataSource.Factory=org.apache.commons.dbcp.BasicDataSourceFactory -Djava.endorsed.dirs=/usr/share/tomcat5/common/endorsed -classpath /usr/lib/jvm/java/lib/tools.jar:/usr/share/tomcat5/bin/bootstrap.jar:/usr/share/tomcat5/bin/commons-logging-api.jar:/usr/share/java/mx4j/mx4j-impl.jar:/usr/share/java/mx4j/mx4j-jmx.jar -Dcatalina.base=/usr/share/tomcat5 -Dcatalina.home=/usr/share/tomcat5 -Djava.io.tmpdir=/usr/share/tomcat5/temp org.apache.catalina.startup.Bootstrap start

我的 PC 和远程服务器之间有防火墙,但端口打开良好,因为我可以在服务器上使用 tcpdump 看到这些数据包:

17:41:17.110977 IP X.X.X.X.57010 > Y.Y.Y.Y.irdmi: S 868833744:868833744(0) win 8192 <mss 1460,nop,wscale 8,nop,nop,sackOK>
17:41:17.111183 IP Y.Y.Y.Y.irdmi > X.X.X.X.57010: S 3571247457:3571247457(0) ack 868833745 win 5840 <mss 1460,nop,nop,sackOK,nop,wscale 7>
17:41:17.112624 IP X.X.X.X.57010 > Y.Y.Y.Y.irdmi: . ack 1 win 256
17:41:19.113216 IP Y.Y.Y.Y.irdmi > X.X.X.X.57010: F 1:1(0) ack 1 win 46
17:41:19.114246 IP X.X.X.X.57010 > Y.Y.Y.Y.irdmi: P 1:15(14) ack 1 win 256
17:41:19.114279 IP Y.Y.Y.Y.irdmi > X.X.X.X.57010: R 3571247458:3571247458(0) win 0

Tomcat 日志中写入的唯一消息是 调试器附加失败:握手期间超时

我无法弄清楚我在网上找到的错误信息。

谁能帮帮我?

我的服务器:RHEL 5.9,Tomcat 5.5,java 1.6

问候, 罗伯特

最佳答案

我解决了我的问题:在我的 PC 和服务器之间的防火墙上激活了数据包检查。它允许某些 TCP 数据包通过,因此可以发生 TCP 握手,但阻止数据 TCP 数据包。

据我了解,首先建立 TCP 连接,然后由 java 服务器使用 TCP 数据包完成应用程序握手。由于数据包被防火墙过滤,应用程序握手无法完成,应用程序通过发送FIN包关闭TCP连接。

问候, 罗伯特

关于eclipse - 无法从 Eclipse 启动 tomcat 调试 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17862772/

相关文章:

Java Eclipse IDE 调试

linux - 是否可以单独使用箭头键在 Linux 上的 Eclipse 中的包资源管理器中伸展树(Splay Tree)节点?

python - Eclipse Python 开发的颜色主题

Tomcat7 .war 项目未部署

eclipse - SVN - 如何将所有文件设置为相同的修订号和日期

java - 如何启用 CORS tomcat 8.5 过滤器访问静态文件?

java - Tomcat,内存泄漏 char[] 和 ThreadWithAttributes

ios - Safari 远程调试 iOS 时黑屏

macos - 使用 lldb/Xcode 进行远程调试

visual-studio-2012 - 远程调试工具无法在运行 8.1 预览版的 Surface RT 上安装(无法验证数字签名)