我很好奇Java中是否有关键字允许eclipse或IDE停止运行代码并在代码到达特定点时启动调试器。
我知道断点对于这个特定的问题非常有用,但是我希望只有在达到特定条件时才开始调试程序,并且这个条件是程序没有定期检查的,所以我会必须将其编程为纯粹的调试。
例如,
if(condition_is_met){
//throw debugger and begin to step through here
}
我能想到的另一种方式是......
if(condition_is_met){
System.out.println("Something"); //Then set a breakpoint here in Eclipse.
}
这看起来很混乱,并且意味着我在以后清理代码时可能会错过它。 Java是否有关键字,可能类似于Javascript的debugger
关键字?
答案 0 :(得分:5)
没有关键字,但您可以在Eclipse中指定条件调试。
检查以下
答案 1 :(得分:3)
创建实用程序类:
public final class DebugHelper {
public final static void breakpoint() {} // Set break point here
}
然后,您可以在希望Eclipse停止的所有位置使用DebugHelper.breakpoint()
。
在运行时,JIT最终将替换该方法(禁用调试时),因此对于经常使用的代码是免费的。
这种方法有两个好处:
答案 2 :(得分:2)
Java中没有这样的关键字可以启动eclipse调试器。记住Java不是用于Eclipse,而是另一种方式。如果你想要这样的话,可以在eclipse中使用条件断点,你可以通过eclipse的断点属性窗口设置它。
答案 3 :(得分:1)
Eclipse有条件断点: 使用左编辑器边距中的断点上的上下文菜单或Debug透视图中的Breakpoints视图,并选择断点的属性。在对话框中,选中Enable Condition,然后输入任意Java条件,例如list.size()== 0
(来自:http://wiki.eclipse.org/FAQ_How_do_I_set_a_conditional_breakpoint%3F)