在 Eclipse 中,不同的断点图标意味着什么?

在 Eclipse 中使用断点时,我有时会注意到它们有不同的图标/注释(左边栏上的标记)。有时它只是一个蓝色的球,有时它上面有一个对勾,有时它被越过。这些注释是什么意思?

36241 次浏览
  • 蓝色球: 常规断点,活动(可能设置命中计数)
  • 空球(即白色) : 断点已被禁用(删除断点视图中的复选标记,或上下文菜单中的 disable)
  • 通过断点的对角线: 所有断点已被禁用(断点视图中的按钮 skip all breakpoints)
  • 断点旁边的问号: 此断点的条件处于活动状态(查看断点的属性)

勾选表示已成功设置断点。我认为它可能只有在进行远程调试时才会出现; 当您添加断点时,它一开始只是一个普通的球,但是一旦远程系统中的 JPDA 代理被告知它,并且确认它已经设置,它就会得到一个勾。

我已经创建了一个内联解释的示例代码。

public class Breakpoints {
int field1; // watchpoint - suspend when field1 is read
int field2; // watchpoint - suspend when field1 is written
int field3; // watchpoint - suspend when field1 is read or written


public void method() {
int x;
x = 10; // suspend before this line is executed
x = 11; // same as above but this breakpoint is temporarily disabled
for (int i = 0; i < 100; i++) {
x = i; // conditional breakpoint - suspend when i==5
}
}
}

Eclipse breakpoint icons

一旦你在断点视图(Window | Show Viev | Debug | Breakpoints)中选择了 Skip All Breakpoints,所有的图标都会变成对角线,如下所示:

Eclipse breakpoint icons Skip All

添加到早期的答案。 小白 c 在一个绿色的球上图标意味着断点位于类级别。

Class Load Breakpoint

Eclipse 帮助

我认为@sleske 给出的答案解释了所有事情,除了:

断点成功设置,因为您的源代码与字节代码匹配,调试控件将到达那里。

只有 Blue Ball : 源代码与 Byte 代码不同(可能您正在运行较早的代码快照)。控件永远不会到达此断点。您必须更新您的 JAR 以获得对这些断点的控制。

如果你在蓝色的球上看到一个“ T”这意味着一个远程调试的触发点enter image description here

在 Eclipse 工具栏中,按 帮助 > 帮助内容

将打开一个新窗口,只需键入 JDT 图标。选择具有相同名称的结果。

出现一个图标列表,其各自的意思是“肖”。向下滚动,直到找到 调试器部分。