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

Moz*_*ath 113 java eclipse debugging conditional-breakpoint

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

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

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

tablist[i].equalsIgnoreCase("LEADDELEGATES");
Run Code Online (Sandbox Code Playgroud)

Zen*_*ter 174

把你的断点.右键单击边距上的断点图像,然后选择" 断点属性":

在此输入图像描述

根据需要配置条件:

在此输入图像描述

  • 最新的Eclipse也直接在Breakpoints View中包含这些选项. (9认同)
  • 哇!我一直在使用:`if(condition){System.out.println("debug");}`并打破print语句多年. (8认同)
  • 不要忘记OMIT the`;`最后 - 当我包含它时我收到了一个错误. (5认同)

Gar*_*all 11

就在一个普通的断点doIt(tablist[i]);线

右键单击 - >属性

检查'有条件'

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

  • @CajunLuke同样在这里.我只是尝试了`final T []`(非泛型类型)并得到`条件断点有编译错误`.有趣的是,我的条件是`bonds == null`,错误对话框中的Reason是`AssignmentOperator`无效._sigh_有时Eclipse的行为更像是一个12岁的人而不是12岁的软件. (3认同)

Pra*_*hoo 5

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]);
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

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

3. 右击 切换点 --> 选择 Breakpoint 属性

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

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