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 应用程序断点未命中的主要内容,如果未能解决你的问题,请参考以下文章