Подтвердить что ты не робот

Какие разные значки контрольной точки означают в Eclipse?

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

4b9b3361

Ответ 1

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

Ответ 2

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

Ответ 3

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

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

Ответ 4

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

Точка останова нагрузки класса

Справка Eclipse

Ответ 5

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

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

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