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

Hon*_*hen 7 java eclipse ide debugging breakpoints

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

if (x >= 0 && x < 4 && y >= 0 
    && y < 4)
source ^= 1 << (x * 4 + y);
Run Code Online (Sandbox Code Playgroud)

但是,当切换第二行的断点以设置断点时,也可以通过切换断点来取消设置.那么它们在地球上的区别是什么以及如何用符号区分它们?

Bor*_*jev 6

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

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

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

这就是解释你的话的解释Doesn't the usually breakpoint refer to a line.

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

void func() {
    int a = 16;
}
Run Code Online (Sandbox Code Playgroud)

试着做toggle breakpoint,并toggle line breakpoint就行了void func().你看得到差别吗?切换断点实际上在toggle line breakpoint和之间选择合适的选项toggle method breakpoint.


hur*_*own 2

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