Могу ли я перешагнуть через весь цикл в IntelliJ?

предположим, я отлаживаю следующий код в IntelliJ:

for (SomeObject obj1 : iterable1) {
   doSomething(obj1); // <--- I am currently paused on this line
   for (SomeObject obj2 : iterable2) {
      doSomething(obj1, obj2);
   }
}

Я хотел бы перейти через весь внутренний цикл, чтобы увидеть, как внутренний цикл повлиял , но " run to cursor "к первой закрывающей скобке запускает только первую итерацию внутреннего цикла, в то время как" run to cursor " на второй закрывающей скобке завершает итерацию внешнего цикла, и у меня больше нет доступа к obj1.

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

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

2 ответов


Я нашел обходной путь:

  1. во время паузы на doSomething(obj1); line, я щелкнул Правой Кнопкой Мыши obj1 переменная в области "переменные" и выберите "отметить объект", назвав его "obj1Instance"
  2. Я позволил циклу выполнить одну итерацию и побежал obj1Instance_DebugLabel в окне "оценить выражение", которое показало мне все его поля

Я также представил вопрос IntelliJ здесь:https://youtrack.jetbrains.com/issue/IDEA-194103


Я бы поставил точку останова на doSomething(obj1) строка, а затем используйте " возобновить программу "(т. е. F9), чтобы вернуться к нему в каждой итерации цикла.