【问题标题】:Remote Debug for Cloud Foundry application fails when connecting eclipse remote debugger to forwarded local port将 Eclipse 远程调试器连接到转发的本地端口时,Cloud Foundry 应用程序的远程调试失败
【发布时间】:2018-04-20 20:58:12
【问题描述】:

我正在尝试远程调试部署在云代工厂实例上的 Spring Boot 应用程序。以下是我使用 Eclipse 设置远程调试的步骤:

  1. 为应用程序设置JBP_CONFIG_DEBUG: '{enabled: true}' 环境变量。
  2. 之后,我使用cf ssh -N -T -L 8000:localhost:8000 <APP_NAME> 设置本地端口转发到我的应用容器
  3. 然后我在eclipse中设置远程调试配置如下图所示:Eclipse remote debug setup

之后,当我尝试启动远程调试会话时,它尝试连接到应用程序但失败并在端口转发终端显示消息:

连接到 localhost:8000 失败:ssh:拒绝:连接失败(拨号 tcp 127.0.0.1:8000:getsockopt:连接被拒绝)

如果有人对此错误有任何线索,请帮忙!

【问题讨论】:

  • 您解决了这个问题吗?似乎我们有几天以来遇到了同样的问题。
  • @funfriedNope,我们尝试了很多变种来解决它,但都无法解决。
  • 与此同时,我发现了我们的问题所在,在我们的案例中,这是我们使用的 buildpack 中的一个错误,我们从 buildpack 维护者那里得到了解决方法。也许您也想尝试一下,所以我将其添加为答案(由于格式化)
  • @funfried 是不是因为自定义 CF 空间限制了端口?
  • 不确定,我只知道它适用于我们和我们使用的 buildpack。我们的 buildpack(它是封闭源代码)的维护者说他们将来会修复它,所以我想它可以是任何东西:/

标签: java eclipse debugging ssh cloud-foundry


【解决方案1】:

您可能需要重新部署应用程序才能进行更改,调试配置以进行更改。

您可以使用cf ssh <application name> 或者使用 ssh 进入容器并检查调试端口是否在不使用 netstat -an 时打开

【讨论】:

    【解决方案2】:

    我们也遇到了一些问题,但使用了特定的 java buildback,但无论如何它也会对您有所帮助,请尝试:

    cf set-env <app-name> JBP_CONFIG_JAVA_OPTS '[java_opts: "-XX:+ForceDebuggingOnDemand"]'

    cf restage <app-name>

    【讨论】:

      【解决方案3】:

      尝试像这样更改调试端口:

      JBP_CONFIG_DEBUG "{enabled: true, port: 8001}"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-07-31
        • 2012-08-04
        • 2013-02-18
        • 2013-03-17
        • 2013-12-23
        • 2023-03-11
        • 2013-11-21
        相关资源
        最近更新 更多