使用Eclipse和tomcat进行远程调试

时间:2011-04-28 10:53:14

标签: remote-debugging

我在Linux服务器上部署了一个应用程序,其中有一些ip说11.22.33.44

服务器详细信息

Java版 - “1.6.0_14”

IP - 11.22.33.44

当我启动服务器时,我在服务器控制台上获得以下o / p '-Xrunjdwp:运输= dt_socket,服务器= Y,暂停= Y,地址= 8004'

这意味着我已经设置了在调试模式下启动服务器所需的所有信息

客户端设置(其他Windows 7机器)

对于eclipse上的连接属性,详细信息如下 主持人:11.22.33.44(如上) 港口:8004(如上所述)

我猜每件事情都做得很好但仍然得到了

无法连接到远程VM。连接被拒绝。连接超时:连接

错误

从运行eclipse的客户机上我可以ping服务器机器,即11.22.33.44

2 个答案:

答案 0 :(得分:2)

听起来像是防火墙问题。 你可以从给定机器/端口的命令行telnet吗? 试试这个:

telnet 11.22.33.44 8004

如果失败则意味着您的端口未打开 - 您的JVM忽略了参数并且没有侦听该端口,或者有防火墙阻止您访问。 为了识别它是哪一个,您可以登录运行tomcat和

的机器
telnet localhost 8004

如果成功,则意味着您的jvm正在接受该端口上的远程调试连接,因此问题是网络中的防火墙,如果它失败则意味着您没有使用正确的远程调试参数启动JVM。

答案 1 :(得分:0)

检查以下内容后,还有另一个错误来源:连接类型。因此对于具有相同问题的其他人,应遵循此问题解决路径:

  1. Ping托管应用程序(服务器)的主机。如果不成功,请检查您的NIC的一条腿是否与目标主机位于同一网络中 - 如果使用IP而不是主机。
  2. telnet您的主机。例如telnet 192.168.0.2 8889。如果你可以很快连接,那就没问题了。看到连接被拒绝的消息没有成功。 “连接由外国主机关闭”虽然很好。
  3. 现在打开Eclipse并创建一个远程调试配置。输入您之前telneted的相同主机和端口。选择连接类型“标准(套接字连接)”。 警告,如果您在选择框中看到同一个实例中的两个,请尝试两者。有时其中一个不起作用。
  4. 这应该这样做。如果没有,请留言并提供帮助。