无法从主机Windows 7上的Eclipse远程调试在CentOS虚拟机上运行的Tomcat

时间:2011-03-02 20:38:22

标签: eclipse tomcat remote-debugging

设置

VMWare虚拟机

  • CentOS 5.5 64位
  • OpenJDK 64位服务器VM(内置14.0-b16,混合模式)
  • Tomcat 6.0

主机

  • Windows 7 64位
  • Oracle / Sun JDK 1.6 64位
  • 适用于Java EE开发人员的Eclipse Helios

问题

我的eclipse远程Java应用程序具有以下连接属性:

Host: 192.168.94.133
Port: 8000

当我运行上述配置时,我得到:

Failed to connect to remote VM. Connection refused.
Connection refused: connect

tomcat的日志中没有任何新内容。

但是当我从Windows框中远程登录时:

bash-3.2$ telnet 192.168.94.133 8000
Trying 192.168.94.133...
Connected to 192.168.94.133.
Escape character is '^]'.
Connection closed by foreign host.

每次我尝试上面的telnet时,tomcat都会在日志中吐出这个:

Debugger failed to attach: timeout during handshake

由于telnet行为,我认为问题出在Eclipse中......我很感激任何帮助。

谢谢,
-Dave

2 个答案:

答案 0 :(得分:3)

您可能正在尝试将两次连接到Eclipse的端口8000(没有注意到)。

显式切换到Debug Perspective(“Window - Open Perspective - Debug”),看看你是否已连接。

答案 1 :(得分:0)

Tomcat中需要的设置1)在* / tomcat / bin /下创建setenv.sh文件。该位置将与catalina.sh文件相同

2)将以下内容放入其中。 export CATALINA_OPTS =" -agentlib:jdwp = transport = dt_socket,address = 8000,server = y,suspend = n"

现在启动Tomcat服务器。一旦启动,请继续执行以下步骤。

Eclipse中所需的设置

3)在Eclipse中转到Windows - > Preference - >常规 - >网络连接 - > Active Provider应该是Direct。更改后直接重启eclipse。

4)在eclipse中右键单击项目并调试为 - >调试配置 - >远程Java应用程序 - >创建新配置。填写以下字段名称:按照您的意愿项目:选择您需要调试的项目。 ConnectionType:标准套接字附加主机:Localhost端口:8000(应该与第2点中提到的相同)然后单击debug。

调试将从端口8000开始。现在您可以通过保留断点进行验证。