Я могу узнать возвращаемое значение прежде, чем возвратиться при отладке в Eclipse?

98
задан halfer 14 February 2016 в 14:55
поделиться

7 ответов

Эта опция была добавлена к версии 4.7 M2 Eclipse под ошибка Eclipse 40912 .

Для использования его:

  • переступают return оператор (использование "Переступают", или "Ступают Возврат")
  • теперь, первая строка в переменном представлении покажет результат оператора возврата, как" [оператор xxx] возвратился: "

См. Кислород Проекта Eclipse (4.7) M2 - Новый и Примечательный для деталей.

35
ответ дан sleske 24 November 2019 в 05:18
поделиться

Вот почему я всегда придерживаюсь следующего шаблона для методов:

MyReturnedType foo() {
     MyReturnedType   result = null;

     // do your stuff, modify the result or not

     return result;
}

Мои правила:

  1. Только один оператор возврата, только в конце метода (наконец позволенный после него)
  2. Всегда имеет локальный названный результат, который содержит возвращенное значение, начинающее со значения по умолчанию.

Естественно, большинство тривиальных методов get освобождено.

5
ответ дан Blaisorblade 24 November 2019 в 05:18
поделиться

Мне любопытно собирающийся изучить ответ на этот вопрос также.

В прошлом при контакте со сторонней библиотекой как этот, то, что я сделал, должно создать класс обертки или дочерний класс, которые делегируют к родительскому классу и делают мою отладку в обертке/дочернем классе. Это берет дополнительную работу все же.

2
ответ дан DJ. 24 November 2019 в 05:18
поделиться

Жесткий. Мой опыт, за пределами Eclipse, состоит в том, что, если Вы, возможно, должны были бы видеть возвращаемое значение, лучше присваивать его локальной переменной в функции так, чтобы оператор возврата был простым return varname; а не return(some * expression || other);. Однако это не ужасно полезно Вам, так как Вы говорите, что не можете (или не хотеть к), изменяют или даже перекомпилировали код. Так, у меня нет хорошего ответа для Вас - возможно, необходимо пересмотреть требование.

0
ответ дан Jonathan Leffler 24 November 2019 в 05:18
поделиться

В зависимости от оператора возврата можно выделить выражение, которое возвращается и из контекстного меню, должно быть что-то как, "оценивают выражение" (у меня нет затмения передо мной теперь, но это - что-то как этот). Это покажет Вам, что будет возвращенным.

0
ответ дан stephmara 24 November 2019 в 05:18
поделиться

Это немного неправдоподобно, но поскольку, кажется, нет простого пути:

Вы могли использовать AspectJ для оснащения JAR с аспектами, которые овладевают возвращаемым значением методов, которыми Вы интересуетесь. Согласно документации Eclipse, программы AspectJ могут быть , отладил как другие программы.

существует две опции соткать Ваши классы, не перекомпилировав библиотеку:

  • переплетение Посткомпиляции при обработке двоичного JAR приемлемо;

  • Время загрузки, переплетаясь, который требует активации ткацкого агента в VM.

См. документацию Eclipse (ссылка выше) и также Руководство Среды разработки AspectJ .

0
ответ дан Olivier 24 November 2019 в 05:18
поделиться

Это на самом деле давняя ошибка в Eclipse, восходящая к самым первым дням IDE: https://bugs.eclipse.org/bugs/show_bug.cgi?id=40912

5
ответ дан 24 November 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: