假设我在IntelliJ中调试以下代码:
for (SomeObject obj1 : iterable1) {
doSomething(obj1); // <--- I am currently paused on this line
for (SomeObject obj2 : iterable2) {
doSomething(obj1, obj2);
}
}
我想跨过整个内循环来看看内循环如何影响obj1
的字段,但是&#34;运行到光标&#34;到第一个右大括号只运行内循环的第一次迭代,而#34;运行到光标&#34;在第二个右大括号结束外循环的迭代,我不再能够访问obj1
。
手动单步执行每个迭代都不是一个选项,因为可能有数千个项目,并且在大括号之间也没有添加一行,因为它是库的一部分。
有没有什么方法可以简单地在块的末尾跳过循环而不退出包含块?
答案 0 :(得分:3)
我找到了解决方法:
doSomething(obj1);
行暂停时,我右键点击“变量”窗格中的obj1
变量并选择“标记对象”,并将其命名为“obj1Instance”obj1Instance_DebugLabel
,这显示了我的所有字段我还在这里提交了一个IntelliJ问题:https://youtrack.jetbrains.com/issue/IDEA-194103
答案 1 :(得分:0)
我在doSomething(obj1)
行放了一个断点,然后在循环的每次迭代中使用“Resume Program”(即 F9 )返回它。