Как пропустить оператор в Eclipse во время отладки - PullRequest
35 голосов
/ 19 мая 2010

Можно ли пропустить оператор в Eclipse при отладке? Предположим, что процесс остановился в точке останова, и я хочу пропустить строку точки останова (или, может быть, несколько строк ниже), могу ли я это сделать? На вкладке отладки есть только кнопки «Шаг в», «Шаг вперед» и «Шаг назад».

Я гуглил, но ничего не смог найти, надеюсь, я найду ответ здесь.

Ответы [ 4 ]

13 голосов
/ 19 мая 2010

Если вы выполняете отладку, вы можете закомментировать строку, которую вы хотите пропустить, а затем перекомпилировать, что приведет к горячей замене кода и сохранит вас в методе, в котором вы сейчас находитесь, что позволит пропустить строку.

В зависимости от того, что должно произойти, вы можете просто выполнить строку после той, которую хотите пропустить, выберите код и выберите «Показать» в меню r-click. Это выполнит выбранный код и предоставит результат во всплывающем окне.

4 голосов
/ 19 мая 2010

Вы можете установить условия точки останова, которые будут определять, будет ли эта точка останова остановлена ​​или продолжится. Я не знаю, как вы можете сказать ему пропустить следующие несколько строк, не меняя код на что-то вроде:

if ( !skip ) {
  // contents to be skipped 
}

и затем в точке останова установите skip в значение true.

Для условий точки останова, если вы return true остановитесь и return false продолжите. Здесь вы можете выполнять код и делать все, что захотите (включая установку значения skip).

3 голосов
/ 10 апреля 2013

У меня была похожая проблема в том, что я хотел пропустить некоторый код, чтобы я мог получить результат вызова метода, происходящего позже в коде. Я забыл, что когда вы отлаживаете, вы можете создавать выражения и оценивать их в любое время. В Eclipse есть вкладка «Выражение», где вы можете вводить любые выражения (то есть вызовы методов), которые вы хотите оценить.

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

2 голосов
/ 15 июля 2011

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

Вы можете сделать это, щелкнув правой кнопкой мыши на панели «Переменные» и выбрав Change Value. В окне вы можете ввести что-то вроде:

new SomeClassMock()

Конечно, это предполагает, что у вас уже есть классы Mock в вашем пути к классам (и это звучит так, как будто вы этого не делаете). Однако вы, безусловно, можете создать JAR-файл, полный необходимых вам классов Mock, и поместить его в общую библиотеку Tomcat так что вы можете получить к нему доступ. Не уверен, что это работает, но вы поняли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...