eclipse beakpoint: остановка перед выходом из метода Java


Есть ли способ сказать отладчику остановиться непосредственно перед возвращением, на каком бы операторе он ни выходил из метода, будь то return, exception или fall out the bottom? Меня вдохновляет тот факт, что редактор Java показывает мне все места, из которых мой метод может выйти - он выделяет их, когда вы нажимаете на возвращаемый тип объявления метода (маркировка вхождений включена).

[затмение 3.4]

3 16

3 ответа:

Поместите точку останова в строку сигнатуры метода. Вот где вы пишете

public void myMethod() {

Затем щелкните правой кнопкой мыши на точке останова и выберите пункт "Свойства точки останова". В нижней части всплывающего окна находятся два флажка: "вход метода", "выход метода". Проверьте последнее.

Можно задать точку останова метода.

Дважды щелкните на поле рядом с объявлением метода. Появится точка останова с украшением в виде стрелки. Щелкнув правой кнопкой мыши, чтобы просмотреть свойства, вы можете установить "приостановить на:" для "входа метода" и/или "выхода метода".

Подробнее о них вы можете прочитать в кулинарной книге Eclipse.

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

public void method(Object stuff) {
    try {
        /* normal code */
    } finally {
        int x = 0;
    }
}

Вы можете установить точку останова на линии x = 0, и она всегда будет выполняться независимо от того, куда вы вернетесь. Даже если исключение будет брошено, оно будет запущено.

Загвоздка в этом-область действия. Если вы не определите переменные вне блока try, вы не сможете увидеть их значения там, где вы попадете в блок finally, так как они выйдут из области видимости.

Нужно просто разместить 5 точек останова (по одной для каждой return statement, whatever) может работать лучше всего.

Я надеюсь, что есть лучший способ, я хотел бы его знать.