【问题标题】:How do check if someone is connected to debug port, or is actively debugging如何检查是否有人连接到调试端口,或正在积极调试
【发布时间】:2021-01-23 06:09:57
【问题描述】:

我们有一个 Tomcat7 Java 11 应用程序,一些开发人员在该应用程序上并行工作。这在 DEV 稳定性中暴露了一些调试端口。有时,用户可能会连接到调试端口并最终忘记关闭连接,从而使连接保持打开状态,一些活动的调试点导致应用程序暂停涉及该流程的所有处理。

我想知道以下选项是否可行:

  • 使用 JMX 甚至自定义 Java 代码,这些代码可以在 Tomcat 上轻松公开,以检查是否有人正在积极调试(要清楚,我不是指是否启用了调试选项,而是是否有人实际连接到该端口)
  • 获取用户的用户名或一些标识。可能是发起连接请求的机器?
  • 在某个固定时间后自动关闭调试连接?

【问题讨论】:

  • 可能,也许......您必须愿意付出一些努力来创建这种自定义行为。您不认为更彻底地关闭调试连接并与其他开发人员就此达成一些协议更容易吗?我
  • 理想情况下,我们应该关闭调试线程。我希望有某种方法来验证是否有人正在运行远程调试,就是这样
  • 你能找到答案吗?

标签: java remote-debugging jdwp


【解决方案1】:

如果您有在 Linux 上运行的应用程序

  • 转到终端,
  • 运行ss -tn src :debugPort
  • Peer Address:Port 下,您会找到连接到您的应用的主机。
  • 然后使用tcpkill ip host 192.168.1.2 结束连接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-10
    • 2014-07-22
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 2014-06-17
    • 1970-01-01
    • 2013-10-16
    相关资源
    最近更新 更多