调试IntelliJ IDEA

时间:2016-02-08 09:27:36

标签: java debugging intellij-idea

考虑下面的Java代码行(它只是用来演示场景的伪代码):

someObject.performAction(Integer.parseInt(other.transform(123)), MessageFormat.format(input, arg, processArg(arg2), anotherValue));

当在IntelliJ IDEA中进行调试时,如果在调用someObject.performAction之前首先看到内联调用的结果而不将它们重构为局部变量?

1 个答案:

答案 0 :(得分:1)

你不能100%安全地做到这一点。

如果内联方法没有副作用,请选择方法调用,例如processArg(arg2)并使用"评估表达式" (ALT-F8)。当调试器被告知继续运行代码时,不会使用此结果,因此将评估具有副作用的方法至少两次(每次使用一次"评估表达式"使用,以及一次对于真正的电话)。