Eclipse Debug 作为远程 Java 应用程序断点未命中

Posted

技术标签:

【中文标题】Eclipse Debug 作为远程 Java 应用程序断点未命中【英文标题】:Eclipse Debug as remote Java application break points not hit 【发布时间】:2012-08-22 07:41:08 【问题描述】:

这是使您处于理智边缘的问题之一。

我在 Windows XP 32 位上运行 Eclipse Java EE Indigo。我正在尝试在 tomcat 6 上调试 gwt 客户端服务应用程序。我正在使用 JDK1.6.0_32

我正在尝试调试我的应用程序的服务器端。我设置断点,在本地将客户端作为 Web 应用程序启动,然后将服务作为远程 Java 应用程序进行调试(标准(套接字附加)本地主机,8000,正确的来源)。我已经验证我正在使用正确的调试设置运行服务器(dt_socket、8000、catalina.bat jpda start)

没有击中断点。没什么,不。 Eclipse 不会挂起线程,并且代码会继续通过断点。让这更令人困惑的是昨天断点工作,没有我改变任何东西,而今天早上他们没有。

我尝试过重新启动、清理和刷新。谷歌搜索该问题会发现 2009 年 Java 较早版本的大多数问题。

编辑:即使在属性中选择了该选项,Eclipse 也会发出错误“由于缺少行号而无法安装断点”

【问题讨论】:

1.) 您是否使用调试符号编译了服务器端类(选项-g)这里是how to check? 2.) 另一件值得一提的事情:在 Eclipse 中,method 断点(与通常的行断点相反)通常根本不起作用。我不知道为什么,这可能是 Eclipse 中的一个错误。 在调试模式下启动服务器时显示“正在侦听地址:8000 的传输 dt_socket” @Chris Lercher 有没有办法通过 Eclipse 检查调试符号?它们是换行点 在发疯之前,自从它开始工作以来你有什么改变?您是否尝试在 onModuleLoad 方法的第一行设置一个简单的断点? 我正在尝试通过附加服务来调试服务,而不是客户端。onModuleLoad 是客户端代码的一部分 【参考方案1】:

您可能需要指定是否需要行号,请参阅我们的 javac 任务:

<javac encoding="utf-8"
       ...
       debug="true" debuglevel="lines,vars,source"
       ... >
       ...
</javac>

【讨论】:

【参考方案2】:

由于代码的服务端是使用 ant 构建的。我必须确保 .xml 文件设置为 debug = "true"。我仍然收到有关缺少行的错误消息,但断点有效。

【讨论】:

【参考方案3】:

如果您尝试使用 telnet 访问机器,它会响应吗?

telnet localhost 8000

该端口可能被防火墙阻止。

【讨论】:

如果我在启动调试服务器之前尝试这样做,我会得到“连接到本地主机...无法在端口 8000 上打开与主机的连接:连接失败”如果我在调试完成后尝试启动时出现“调试器无法附加:握手期间超时”。

以上是关于Eclipse Debug 作为远程 Java 应用程序断点未命中的主要内容,如果未能解决你的问题,请参考以下文章

利用Eclipse进行远程Debug

eclipse 远程debug

本地eclipse远程操作 hbase

IDEA配置远程debug

java项目 远程debug

远程debug调试java代码