如何在Eclipse中使用条件断点?


117

我想知道如何在Eclipse中放置条件断点。我有一个类似的代码:

public static void doForAllTabs(String[] tablist){
    for(int i = 0; i<tablist.length;i++){
-->        doIt(tablist[i]);
    }
}

现在,我想在带有箭头的线上放置一个断点,但只在以下情况下才触发它:

tablist[i].equalsIgnoreCase("LEADDELEGATES");

Answers:


179

把你的断点。右键单击边缘上的断点图像,然后选择“ 断点属性”

在此处输入图片说明

视情况配置条件:

在此处输入图片说明


9
最新的Eclipse也直接在Breakpoints View中包含这些选项。
Michael Brewer-Davis

1
谢了哥们!节省了我很多时间!:)
MozenRath 2011年

8
哇!我一直在使用:if(condition){System.out.println("debug");}并中断了打印声明多年。
Cruncher

5
不要忘;了最后省略-包含它时出现错误。
modulitos

非常感谢!这非常有帮助。
hfontanez

11

doIt(tablist[i]);在线路上建立一个正常的断点

右键单击->属性

选中“视情况而定”

输入 tablist[i].equalsIgnoreCase("LEADDELEGATES")


表达式的末尾是否不需要分号?如果添加分号,则只能使条件断点起作用(即使那样也很少)。
Cajunluke 2011年

3
@CajunLuke在这里也一样。我只是用final T[](非泛型类型)尝试了它,然后得到了Conditional breakpoint has compilation error(s)。有趣的是,我的情况是bonds==null,错误对话框中的原因是invalid AssignmentOperator叹息有时Eclipse的行为更像是12岁的人类,而不是12岁的软件。
KomodoDave

3

Eclipsepedia中了解如何设置条件断点:

首先,在给定位置设置一个断点。然后,使用左侧编辑器边界中的断点或“调试”透视图中的“断点”视图中的上下文菜单,然后选择断点的属性。在对话框中,选中“启用条件”,然后输入任意Java条件,例如list.size()==0。现在,每次到达断点时,都会在断点执行的上下文中对表达式进行求值,并且视表达式的结果而定,忽略或遵守断点。

条件还可以用其他断点属性(例如命中数)来表示。


您的链接未?编码。试试这个
KomodoDave

谢谢,谢谢

2

1. 创建一个班级

public class Test {

 public static void main(String[] args) {
    // TODO Auto-generated method stub
     String s[] = {"app","amm","abb","akk","all"};
     doForAllTabs(s);

 }
 public static void doForAllTabs(String[] tablist){
     for(int i = 0; i<tablist.length;i++){
         System.out.println(tablist[i]);
    }
  }
}

2. 右键单击 System.out.println(tablist [i])的 左侧在Eclipse中 ->选择Toggle Breakpoint

3. 右键单击 切换点 -> 选择 断点属性

4. 选中 条件 复选框 -> 在文本字段中 tablist [i] .equalsIgnoreCase(“ amm”) -> 单击确定

5. 右键单击类 -> 调试为 -> Java应用程序

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.