gpt4 book ai didi

java - 调试 - IntelliJ 无法连接到远程服务器上启用调试的 JVM

转载 作者:行者123 更新时间:2023-11-29 08:33:38 26 4
gpt4 key购买 nike

我有一个典型的内部集群,带有一个登录节点和多个计算节点。首先,我使用以下参数运行一个 JVM 实例,让我的 IntelliJ 调试器连接到它。

-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005

这个登录节点有一个可公开访问的地址,我主要通过 ssh 进入该地址来启 Action 业。但是,当我尝试将我的 IntelliJ 调试器附加到该节点上的 JVM 实例时,连接只是计时,并且无法连接,而我的 JVM 实例确实以挂起模式启动,等待调试器连接到它。

IntelliJ Remote debug configuration

更新:最初的问题似乎是,除了我用来通过 SSH 连接的端口 22 之外,我无法访问服务器上的任何其他端口。无论如何,我能够创建一个 SOCK5 代理,将 IntelliJ 配置为使用该代理,然后成功测试连接,如下所示:

Testing the connection at the host:port the debugger is listenning at

调试器控制台上的输出显示 IntelliJ 已成功访问指定主机名上的该端口,但使用的是 HTTP 请求而不是 JWP 请求。

Debugger console output

但是,当我继续将调试器连接到同一主机:端口组合时,我无法这样做并收到以下错误:

Debugger error

我也尝试过设置 suspend=n 但无济于事。

最佳答案

ssh -L 5005:localhost:5005 <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="5b333a283e3e391b3622283e292d3e2975383436" rel="noreferrer noopener nofollow">[email protected]</a>

将映射localhost:5005到港口5005myserver.com (也在 localhostmyserver.com 界面上)。这样,在 IntelliJ IDEA 调试器中,您将连接到 localhost (在主机字段中指定)端口 5005连接将转发到调试器监听 localhost:5005 的远程服务器.

参见here了解 SSH 隧道如何工作的更多详细信息

关于java - 调试 - IntelliJ 无法连接到远程服务器上启用调试的 JVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45888852/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com