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

时间:2011-08-25 17:00:44

标签: java eclipse debugging conditional-breakpoint

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

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

现在我想在带箭头的行上放置一个断点,但希望它仅在以下情况下触发:

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

5 个答案:

答案 0 :(得分:166)

提出你的断点。 右键单击边距上的断点图像,然后选择断点属性

enter image description here

根据需要配置条件:

enter image description here

答案 1 :(得分:11)

doIt(tablist[i]);

上创建一个普通断点

右键单击 - &gt;特性

检查'有条件'

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

答案 2 :(得分:3)

Eclipsepedia关于如何设置条件断点:

  

首先,在给定位置设置断点。然后,使用上下文   左侧编辑器边距或断点中的断点上的菜单   在Debug透视图中查看,并选择断点的属性。   在对话框中,选中Enable Condition,然后输入任意Java   条件,例如list.size()==0。现在,每次断点都是   到达时,表达式在断点的上下文中进行评估   执行,断点被忽略或尊重,取决于   关于表达的结果。

     

条件也可以用其他断点表示   属性,例如命中计数。

答案 3 :(得分: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中的左侧< / EM> - &gt; 选择切换断点

3。 右键点击 切换点 - &gt; 选择 断点属性

4. 检查 条件 复选框 - &gt; < em>写 tablist [i] .equalsIgnoreCase(&#34; amm&#34;) 在文本字段中 - &gt; 点击 确定

5. 右键点击课程 - &gt; 调试为 - &gt; Java应用程序

答案 4 :(得分:0)

一种可能更方便的方法:在需要断点的地方,编写no-op if语句并在其内容中设置断点。

if(tablist[i].equalsIgnoreCase("LEADDELEGATES")) {
-->    int noop = 0; //don't do anything
}

(断点由箭头表示)

这样,断点仅在您的条件为true时触发。如果没有这么多的弹出窗口,这可能会更容易。