调试模式下,Eclipse 在断点处不停止。

5
自昨天开始我在Eclipse调试器中遇到了问题,因为它不会在断点处停止。我搜索了一下,发现这个问题是一个旧的与JDK 1.6.0_14有关的问题,但我使用的是JDK 1.7.0_55,而且一切正常。但从昨天开始,为了让它正常工作,我需要清除应用程序并重新启动计算机,然后在调试器中运行它,如果我对代码进行任何更改,则必须再次清理和重新启动计算机,因为它不起作用,我不知道发生了什么事情。我使用的是Windows 8,Eclipse Kepler Service Release 2和Oracle Weblogic。 谢谢您的帮助

1
很可能他没有进入调试模式,或者你正在尝试调试的代码不在你(当前)正在调试的资源中。 - Stultuske
可能是Eclipse - debugger doesn't stop at breakpoint的重复问题。 - BuZZ-dEE
10个回答

13

确保你没有在Eclipse中点击了 跳过断点 选项。我曾经这样做了,在解决问题时浪费了45分钟……


在调试视图中不小心点击了跳过所有断点图标。 - Erikson
是的,那就是问题所在。我不小心点击了图标,浪费了半个小时。谢谢。 - Arif Nazar Purwandaru
如果我们已经点击了“跳过断点”选项,如何重新启用断点? - Mdhar9e

5
如果您正在使用Maven,那么问题通常是由于本地源代码版本与您尝试调试的可执行文件版本不同。例如:
我开发了v1.0.34-SNAPSHOT并提交到我们的SVN存储库。 CI服务器自动编译此版本 我使用CI服务器发布版本1.0.34 我将v1.0.34部署到Weblogic上 我尝试进行调试,但Eclipse感到困惑-它具有1.0.34-SNAPSHOT的源代码,但运行版本为1.0.34
我在较旧的Eclipse版本中看到的另一个问题是,如果两个项目导入相同库的不同版本,则调试器会混淆应该使用哪个源代码。我没有在Kepler或Luna上测试过这个问题。

1
另一个问题可能是打开了第二个项目,该项目使用相同构件的不同版本。我不确定Eclipse调试器是否足够智能,始终加载正确的源代码版本。 - kiwiron
能否请您再详细说明一下?当我点击调试时,无法指定任何jar配置。我是否可以只针对源代码运行? - Kervvv

1
这是我的解决方案:
我需要在“PHP服务器”配置中添加本地服务器地址,像这样:

enter image description here

注意:这里的地址是我在Apache .conf文件中配置的地址。
注意:唯一起作用的断点是“在第一行处中断”,之后断点就不再起作用了。
注意:检查你的php.ini文件中的xdebug属性,并删除任何你认为不需要的属性。

0

我曾经遇到过这种情况,而且花了我一段时间(尴尬的太长)才弄清楚我做错了什么。

我运行多个jboss服务器,在升级Eclipse后,我配置了我的项目调试以指向错误服务器的套接字...所以当点击调试时,我可以看到运行的线程,但不幸的是它是另一个服务器。

希望这可以节省某人30分钟的时间来解决问题。


0

我想分享这个问题,因为我在其他地方没有找到答案。我不知道我的配置有什么特别之处,但是上面的明显解决方法都没有解决它。跳过断点没有被选中,我正在调试模式下运行等等。

我怀疑发生了什么事情可能是一个eclipse的bug?我真的不知道。但是当你进入默认的调试视图时,会打开一堆面板(我不知道面板是否是正确的术语)。我喜欢最小化我不使用的面板。调试视图中的一个面板具有“Debug”视图(请注意透视和视图之间的区别)。我不需要使用该视图或该面板通常具有的任何其他视图,因此我将其最小化到屏幕侧面的小工具栏中。

当我展开具有Debug视图的面板时,立即触发断点。我没有进行任何详细的测试来确定可以导致这种情况的确切组合,只是想提醒您,也许您应该将其添加到可能导致此问题的检查清单中。

很高兴能做出贡献,希望这能帮助某个人!祝大家有美好的一天!


0

确保Tomcat已关闭。然后右键单击项目,按照屏幕截图操作。

enter image description here

在“常规”选项卡中,选择“调试”选项。然后以调试模式启动服务器。它会像魔法一样运行。

0

为了从Eclipse中调试Java APP,需要在调试模式下运行应用程序/编程。 对于远程调试,需要将调试选项添加到Java进程中,并使用Eclipse远程调试选项连接它。

此外,如果您更改了代码并应用了断点,那么无需说您需要重建项目。

断点应该在代码流中可达。


0

我遇到了同样的问题,但情况略有不同。

我正在使用Maven构建项目,并通过将项目添加到服务器(右键单击服务器并选择“添加和删除”)并启动它(仅在调试模式下)来部署它。它没有停在调试点上。

然后,我从Eclipse服务器中删除了该项目,并将从Maven构建生成的war复制到Tomcat(或任何其他服务器)的webapp文件夹中。这次它会停在调试点上,并要求查找源代码。只需点击源按钮,并将其指向Eclipse项目即可。

你可以放心使用,它会按预期运行。


0
这件事情发生在我调试远程Java应用程序时。经过一个小时的努力,我终于找到了问题所在:Tomcat服务器上部署的构建版本与我启用调试点的代码存在差异。希望这能帮到你!

-1

在设置了断点之后,您需要在调试模式下运行程序。

如果您以正常模式运行它,它将不会停在断点处。


2
我在帖子标题中写道,我处于调试模式!! - Majico

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接