Eclipse beakpoint: остановить, прежде чем покинуть метод Java

Есть ли способ сказать отладчику остановиться перед возвратом, в зависимости от того, какой из операторов выходит из метода, будь то возврат, исключение или выпадание из нижней части? Меня вдохновляет тот факт, что редактор Java показывает мне все места, которые мой метод может выйти, - это подчеркивает их, когда вы нажимаете на возвращаемый тип объявления метода, (Mark Occurrences enabled).

[eclipse 3.4]

Ответы

Ответ 1

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

public void myMethod() {

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

Ответ 2

Вы можете установить контрольную точку метода.

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

Подробнее о них вы можете прочитать в Eclipse Cookbook.

Ответ 3

Хороший вопрос. С головы до ног я бы сделал это:
public void method(Object stuff) {
    try {
        /* normal code */
    } finally {
        int x = 0;
    }
}

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

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

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

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