it-roy-ru.com

Что означают различные значки точек останова в Eclipse?

При работе с точками останова в Eclipse я иногда замечаю, что они имеют разные значки/аннотации (маркеры на левой боковой панели). Иногда это просто синий шар, иногда на нем есть галочка, а иногда он пересекается. Что означают все эти аннотации?

76
Fixpoint
  • синий шар: обычная точка останова, активная (возможно с установленным счетчиком хитов)
  • пустой шарик (т. е. белый): точка останова отключена (уберите галочку в представлении точки останова или disable в контекстном меню)
  • диагональная линия через точку останова: все точки останова отключены (кнопка skip all breakpoints в представлении точки останова)
  • знак вопроса рядом с точкой останова: для этой точки останова активно условие (смотрите свойства точки останова)
136
sleske

Тик означает, что точка останова была успешно установлена. Я думаю, что это может появиться только когда вы делаете удаленную отладку; Когда вы добавляете точку останова, она начинается как простой шарик, но как только агент JPDA в удаленной системе получает информацию об этом и подтверждает, что она установлена, тогда он получает галочку.

17
Tom Anderson

Я создал пример кода с пояснениями.

public class Breakpoints {
    int field1; // watchpoint - suspend when field1 is read
    int field2; // watchpoint - suspend when field1 is written
    int field3; // watchpoint - suspend when field1 is read or written

    public void method() {
        int x;
        x = 10; // suspend before this line is executed 
        x = 11; // same as above but this breakpoint is temporarily disabled
        for (int i = 0; i < 100; i++) {
            x = i; // conditional breakpoint - suspend when i==5
        }
    }
}

Eclipse breakpoint icons

Как только вы выбираете Skip All Breakpoints в представлении Breakpoints (Window | Show Viev | Debug | Breakpoints), все значки становятся по диагонали заштрихованы так:

Eclipse breakpoint icons Skip All

8
Honza Zidek

Добавление к более ранним ответам. маленький белый cNAME _ над значком зеленого шара означает, что точка останова находится на уровне класса.

Class Load Breakpoint

Eclipse Help

5
Ali Khan

Я думаю, что ответ, данный @sleske, объясняет все, кроме:

Синий шар с галочкой: Точка останова успешно установлена, потому что Ваш Исходный код соответствует Байт-коду, и контроль отладки будет достигнут там.

только синий шар: исходный код отличается от байт-кода (возможно, вы используете более старый снимок кода). Контроль никогда не достигнет этой точки останова. Вам нужно будет обновить ваши JAR-файлы, чтобы получить контроль над этими точками останова.

4
rdj7