Eclipse中的“切换线断点”和“切换断点”之间有什么区别?

时间:2012-03-10 09:22:28

标签: java eclipse debugging ide breakpoints

我无法理解Eclipse中菜单的 Run 按钮下的两个选项。通常的断点是不是指一条线?我意识到可能会出现这种情况:

if (x >= 0 && x < 4 && y >= 0 
    && y < 4)
source ^= 1 << (x * 4 + y);

然而,当第二行的切换线断点设置断点时,也可以通过切换断点取消设置。那么它们在地球上的区别是什么以及如何区分他们使用符号

2 个答案:

答案 0 :(得分:6)

在eclipse中你可以有5种类型的断点:

  • 您习惯的那个:普通的断点
  • 一个条件断点,在这个断点中你停在一条线上,但只有在满足某个条件时
  • 输入方法时触发的方法断点
  • 异常断点,在任何抛出某个异常的行上停止。
  • (根据我已经忘记的评论)观察点:使用它们,只要访问或修改某个字段,您就会中断。可以从大纲视图配置它们。

第二个选项也放在某一行上,但只要需要配置它就可以认为它更特别。前两个断点的符号是不同的。第三个也有特殊符号。第四个没有符号(它不属于任何特定的地方)。

这可以解释你的话语Doesn't the usually breakpoint refer to a line

如果你有这样的代码,你也可以看到两者之间的区别:

void func() {
    int a = 16;
}

尝试在toggle breakpoint行上执行toggle line breakpointvoid func()。你看得到差别吗?切换断点实际上会在toggle line breakpointtoggle method breakpoint之间选择合适的选项。

答案 1 :(得分:2)

切换线断点仅作用于线断点。任何断点的另一个行为。在这里(http://eclipse-tips.com/tips/29-types-of-breakpoints-in-eclipse)你可以在eclipse中看到可能的断点列表。