【问题标题】:Eclipse remote debugging stops java to listen on debug portEclipse 远程调试停止 java 监听调试端口
【发布时间】:2020-08-03 10:36:43
【问题描述】:

我有一个在远程主机上运行的 java 应用程序,从以下开始:

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5555

我可以看到应用程序何时启动它侦听 tcp 端口 5555: tcp 0 0 0.0.0.0:5555 0.0.0.0:* LISTEN 451357/java

我已经在 iptables 中允许了这个端口。我可以使用 telnet 连接到这个端口。

但是每当我启动 Eclipse 远程调试时它永远不会连接,以下是错误:

无法连接到远程虚拟机。拒绝连接。 连接被拒绝:连接

每当 Eclipse 尝试连接时,我可以在 netstat 中看到 java 进程停止监听 5555。有人遇到过类似的问题吗?

java版本“1.8.0_181”

【问题讨论】:

  • 程序是否终止? stdout/stderr 上有什么?
  • 这能回答你的问题吗? What are Java command line options to set to allow JVM to be remotely debugged? --- 即使用-agentlib:jdwp=... 代替-Xdebug -Xrunjdwp:...,并将地址指定为*:5555
  • 否,程序未终止。只有它停止侦听调试端口。 stdout 或 stderr 没有错误
  • 还尝试使用 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5555 相同的行为
  • 我没有解决方案,但我想确定我明白你在说什么。在尝试连接之前,您运行 netstat 并显示正在侦听端口的进程,然后您尝试连接,但失败了,然后当您再次运行 netstat 时,它不再在侦听端口了?假设这是真的,该服务是否侦听任何其他端口?这些侦听器的状态是否与调试器端口一样发生变化?

标签: java eclipse remote-debugging


【解决方案1】:

只是没有设置 eclipse 调试器视图工作正常

【讨论】: