为什么我无法进行远程调试?我该如何找出原因?

4

如果无法与Java进程进行远程调试,该如何“调试”此问题?

没有防火墙。

我可以连接到远程调试器,但并非总是如此。我的意思是,如果我连接然后断开连接,再次重连就不可能了。

有没有一种方法来调试这个问题? Java是否有任何相关日志?


调试器和被调试程序是否在同一台机器上运行?尝试重新连接时是否收到任何错误消息? - Andreas Fester
@Andreas:不行。要在 Linux 系统上调试 Java 代码。Eclipse 在 Windows 上运行。 - Jim
1
当您尝试重新连接时,您遇到了什么错误?也许您没有正确地断开连接。 - Random42
@m3th0dman:Eclipse 报错信息为:无法连接到远程虚拟机。连接超时。org.eclipse.jdi.TimeoutException - Jim
有可能是你没有正确断开连接;或者如果服务器是远程的,可能已经有其他人连接了。我建议重新启动服务器,然后再试一次。 - Random42
@m3th0dman:你说的“没有正确断开连接”是什么意思?我是从Eclipse中使用Terminate命令来断开连接的。 - Jim
1个回答

3

您能检查一下远程机器上配置的调试端口和您尝试使用的端口是否相同吗?这可能是一个可能的情况。

如果您没有配置调试端口,请尝试配置它。您的调用将始终通过该端口路由,而不是由服务器处理的默认/随机端口。

以下是我在Weblogic中的示例:

set JAVA_OPTIONS=-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=4529,server=y,suspend=n

1
这并不是一个合适的答案,而是一条评论,但我意识到你目前无法发表评论。 - thecoshman
@thecoshman,你说的“comment”是什么意思?难道我没有说过这可能是一个可能的情况吗? - Sai Kandukuri
非常抱歉,我误解了你的话,起初似乎你只是在猜测。 - thecoshman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接