Eclipse 无法删除某些断点

16

在Eclipse左侧的蓝色条上双击可以设置断点,再次双击可以移除断点。这对我来说非常有效,但是如果我使用Git切换到另一个分支,通常情况下断点的蓝色标记会出现“混乱”或其他情况。我无法再通过双击取消它们。我被迫进入调试透视图,在“断点”视图中找到断点,然后右键单击并删除。有没有更简单的解决方法?我在Windows 7上使用Java编码。

我可以使用此代码复制此错误(假设if是第1行):

if(bool)
{
  // comment
  doSomething();
} else {
  doOther();
}

我在第4行设置了断点-doSomething()。然后我在if语句上面插入了一个新行,使所有内容下移(将断点移到第5行)。然后我执行了git stash save。当我点击回到Eclipse时,蓝色的点会显示在正确的行上,但断点窗口仍然显示第5行。如果我双击禁用它,它实际上会在第4行添加第二个断点。

我觉得我应该向Eclipse开发团队报告这个问题。


5
在“运行”菜单上有一个“移除所有断点”的选项。 - Bob Flannigon
1
你使用的是哪个版本的Eclipse?我看到一个错误报告,旧版本的Eclipse会创建两个断点,但只能删除一个。 - Dave Richardson
版本号:Indigo Service Release 2. Build id: 20120216-1857 这个版本算是旧的吗? - benathon
1
我不这么认为,但就我个人而言,我不建议您升级到最新的Juno。它仍然有点慢,性能上也存在一些故障。 - user
5个回答

36

打开调试视角[右上角]

前往断点

点击清除所有断点[双重X]或者滚动屏幕直到找到不想消失的断点并删除它。


4
我认为他想避免不得不做这件事!就我个人而言,我开发时使用“调试”视角(重新排列一次),我从未完全明白为什么需要同时拥有Java和调试视角。 - Bob Flannigon
有趣。我想在进行调试时需要再买一个显示器才有足够的空间。个人而言,我喜欢切换到调试模式,因为我总是希望显示回溯和表达式窗口。当我的代码不运行时,我切换到 Java,它总是在左侧显示项目浏览器。无论什么方法都行。 - benathon
它可以工作,但是在Oxygen中有时禁用断点不起作用。 - Kandy

9

这里的解决方案都没能为我解决问题。因为我从断点视图中删除了断点,但在编辑器中无法摆脱它们。我认为这是一种错误。对我有用的方法很简单:

  1. 选择整个类 (Ctrl + a)

  2. 剪切整个类 (Ctrl + x)

  3. 将其粘贴回去 (Ctrl + v)

有时候,解决方案比我们想象的容易:)


这不是一个“简单”的解决方案,也不容易推断。 - Pere

6

前往“运行” -> “清除所有断点”。这样可以清除所有无法单独删除的断点。


5

右键点击断点 -> 禁用断点。应该可以解决问题。此外,如果再次点击“切换断点”(在同一菜单中),它将完全消失;在第一种情况下,它只是被禁用了,但仍然存在。


我刚刚编辑了我的问题,以回应您在这里提出的评论所发现的内容。 - benathon
4
当运行的代码与您提供的源代码不同时,将出现同样的问题。比如,如果您使用旧的编译代码来运行Web应用程序,但是引用了新的源代码,可能会出现这样的情况。 - user
1
我在禁用断点之前或之后无法切换断点。TheWhiteRabbit的答案对我有用。 - SlimPDX

3

有时候这种情况也会发生在我身上。在“Debug”视图中有一个“断点(Breakpoints)”选项卡。即使在编辑器中断点变得不可见,但它们可能仍然显示在列表中。因此,您可以安全地删除想要摆脱的断点。


太好了!这对我有用。我遇到这个问题已经很长时间了。 - DrB

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