调试 - IntelliJ无法连接到远程服务器

时间:2017-08-25 20:19:11

标签: java debugging intellij-idea jvm ide

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

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

此登录节点有一个可公开访问的地址,我大部分都是为了启动作业。但是,当我尝试将IntelliJ调试器连接到此节点上的JVM实例时,连接只是将它连接起来并且无法连接,而我的JVM实例确实在挂起模式下启动,等待调试器连接到它。 / p>

IntelliJ Remote debug configuration

更新 最初的问题似乎是我没有访问我的服务器上的任何其他端口,而不是端口22,我用它来S​​SH。无论如何,我能够创建一个SOCK5代理,配置IntelliJ使用该代理,然后成功测试连接,如下所示:

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

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

Debugger console output

然而,当我继续将调试器连接到同一主机:端口组合时,我无法执行此操作并收到以下错误:

Debugger error

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

1 个答案:

答案 0 :(得分:4)

ssh -L 5005:localhost:5005 haseeb@myserver.com

会将localhost:5005映射到5005上的端口myserver.com(同样位于localhost的{​​{1}}接口上)。这样在IntelliJ IDEA调试器中,您将连接到myserver.com(在主机字段中指定)端口localhost,并且连接将转发到调试器侦听的远程服务器在5005

有关SSH隧道如何工作的详细信息,请参阅here