Могу ли я перешагнуть через весь цикл в 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 ответов
Я нашел обходной путь:
- во время паузы на
doSomething(obj1);
line, я щелкнул Правой Кнопкой Мышиobj1
переменная в области "переменные" и выберите "отметить объект", назвав его "obj1Instance" - Я позволил циклу выполнить одну итерацию и побежал
obj1Instance_DebugLabel
в окне "оценить выражение", которое показало мне все его поля
Я также представил вопрос IntelliJ здесь:https://youtrack.jetbrains.com/issue/IDEA-194103
Я бы поставил точку останова на doSomething(obj1)
строка, а затем используйте " возобновить программу "(т. е. F9), чтобы вернуться к нему в каждой итерации цикла.