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

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

5 ответов


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

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


Я создал пример кода с объяснением 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 в режиме останова (Window | Show Viev | Debug | Breakpoints), все значки становятся по диагонали пробиты, как это:

Eclipse breakpoint icons Skip All


добавление к предыдущим ответам. The маленький белый c над зеленым шаром значок означает, что точка останова находится на уровне класса.

Class Load Breakpoint

Затмение Помочь


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

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

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