Як використовувати умовну точку розриву в Eclipse?


117

Хочеться знати, як розмістити умовну точку розриву в Eclipse. У мене є такий код:

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

Тепер я хочу поставити точку розриву на лінії зі стрілкою, але хочу, щоб вона спрацьовувала лише в тому випадку, якщо:

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

Відповіді:


179

Поставте свою точку розриву. Клацніть правою кнопкою миші зображення поля перелому на полі та виберіть Властивості точки перерви :

введіть тут опис зображення

Налаштуйте умову, як вважаєте за потрібне:

введіть тут опис зображення


9
Останній Eclipse також включає ці параметри безпосередньо у Перегляді точок розриву.
Майкл Брюер-Девіс

1
Дякую, друже! врятувало багато мого часу! :)
MozenRath

8
Оце Так! Я використовую: if(condition){System.out.println("debug");}і перериваюся на заяву про друк роками.
Cruncher

5
Не забудьте OMIT ;в кінці - я отримав помилку, коли я включив її.
modulitos

Дуже дякую! Це було дуже корисно.
hfontanez

11

Зробіть звичайну точку розриву на doIt(tablist[i]);лінії

Клацніть правою кнопкою миші -> Властивості

Поставте прапорець "Умовно"

Введіть tablist[i].equalsIgnoreCase("LEADDELEGATES")


Вам не потрібна крапка з комою в кінці виразу? Я можу отримати умовні точки перерви лише тоді, коли додати крапку з комою (і не дуже часто навіть тоді).
Cajunluke

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 (список таблиць [i]); в Eclipse -> виберіть пункт Toggle Breakpoint

3. Клацніть правою кнопкою миші на точку перемикання -> виберіть властивості точки перерви

4. Установіть прапорець Умовний прапорець -> написати вкладку [i] .equalsIgnoreCase ("amm") у текстовому полі -> Клацніть OK

5. Клацніть правою кнопкою миші клас -> Налагодження як -> Java Application

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.