【问题标题】:Java Remote debugging does not work in JettyJava 远程调试在 Jetty 中不起作用
【发布时间】:2015-10-05 21:42:38
【问题描述】:

我正在使用 Jetty 8 并尝试从 Eclipse 连接。我正在使用 Java 1.6。
在调试模式下启动码头时,我给出了以下命令,该命令引发“地址已在使用”错误。

java -Xdebug -agentlib:jdwp=transport=dt_socket,address=8080,server=y,suspend=n -jar start.jar.  

要进行远程调试,我需要在要运行 Jetty 服务器的同一端口上打开调试模式。
我怀疑的原因是,我在 8080 上打开了一个调试端口(成功完成),当 Jetty 尝试在默认端口 8080 中启动服务器时,它会抛出错误“地址已在使用中”。

你能帮帮我吗?

【问题讨论】:

  • 为什么不为调试器尝试不同的端口,例如7999?

标签: java eclipse remote-debugging jetty-8


【解决方案1】:

是的,JVM会分配你指定的调试端口,以后Jetty就无法使用了。除非明确编码,否则端口不能在用途之间共享。

您应该将另一个未使用的端口用于您的任一目的。我建议使用 8000 或 7999 作为调试器端口。

请注意,Eclipse 的现代版本允许反向配置(“侦听”),即 Eclipse 侦听给定的端口,然后 JVM 连接回该端口。如果您在受限网络中进行调试,这可能是相关的。

【讨论】:

  • 我试过这个选项。我使用了另一个端口。如果 Jetty 在 8080 上运行并且如果我在调试端口 7999 上连接,则 eclipse 会打开调试模式而不会出现任何问题。但是所有请求都转到端口 8080,因此,当我在 eclipse 中设置调试点时,代码没有到达断点。
  • 进一步我用不同的端口 7999 调试了这个问题,仍然没有命中断点。但我可以在调试选项卡中看到线程,只有代码没有在 eclipse 中命中
  • 这是一个全新的问题。考虑提出一个新问题。
猜你喜欢
  • 2012-08-28
  • 1970-01-01
  • 2014-02-05
  • 2015-04-05
  • 2014-01-01
  • 2019-05-14
  • 2011-08-22
  • 1970-01-01
  • 2013-05-06
相关资源
最近更新 更多