假设我正在 IntelliJ 中调试以下代码:
for (SomeObject obj1 : iterable1) {
doSomething(obj1); // <--- I am currently paused on this line
for (SomeObject obj2 : iterable2) {
doSomething(obj1, obj2);
}
}
我想跨过整个内部循环以查看内部循环如何影响 obj1
的字段,但是“运行到光标”到第一个右大括号仅运行内循环,而第二个右大括号上的“run to cursor”结束了外循环的迭代,我不再有权访问 obj1
。
手动遍历每个迭代不是一种选择,因为可能有数千个项目,而且在大括号之间添加一行也不是,因为这是库的一部分。
有什么方法可以在不退出包含 block 的情况下简单地跨过 block 末尾的循环吗?
最佳答案
我找到了解决方法:
- 在
doSomething(obj1);
行暂停时,我右键单击“变量” Pane 中的obj1
变量并选择“标记对象”,将其命名“obj1实例” - 我让循环运行一次迭代并在“评估表达式”窗口中运行
obj1Instance_DebugLabel
,这显示了它的所有字段
我还在这里提交了一个 IntelliJ 问题:https://youtrack.jetbrains.com/issue/IDEA-194103
关于java - 我可以在 IntelliJ 中跨过 while 循环吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50894172/