【问题标题】:Can't Remotely Debug Tomcat Running on CentOS Virtual Machine from Eclipse on Host Windows 7无法从主机 Windows 7 上的 Eclipse 远程调试在 CentOS 虚拟机上运行的 Tomcat
【发布时间】:2011-07-07 14:03:47
【问题描述】:

设置

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 中...如果有任何帮助,我将不胜感激。

谢谢,
-戴夫

【问题讨论】:

  • 再次检查 Eclipse 是否确实在尝试使用端口 8000。如果您可以远程登录到 8000 但 Eclipse 得到“连接被拒绝”,那么我的钱是在 Eclipse 上尝试使用不同的端口。跨度>

标签: eclipse tomcat remote-debugging


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

    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--> General-->Network Connection --> Active Provider 应该是 Direct。改完后直接重启eclipse。

    4)在eclipse中右键单击项目并调试为->调试配置->远程java应用程序->创建新配置。填写以下字段名称:如您所愿项目:选择您需要调试的项目。 ConnectionType:Standard socket attach Host:Localhost Port:8000(应该和第2点一样)然后点击debug。

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

    【讨论】:

      猜你喜欢
      • 2019-11-29
      • 2011-05-20
      • 2017-10-20
      • 2020-01-23
      • 2012-08-13
      • 2015-05-07
      • 2011-02-15
      • 2012-12-29
      • 2010-09-20
      相关资源
      最近更新 更多