2016-02-08 119 views
0

考慮的Java代碼以下行(這只是僞代碼來演示場景):調試在IntelliJ IDEA的內聯值

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

當IntelliJ IDEA的調試時,沿着這條線來了,我怎麼能先看到在調用someObject.performAction之前內聯調用的結果沒有將它們重構爲局部變量?

回答

0

你不能100%安全地做到這一點。

如果內聯方法沒有副作用,請選擇方法調用,例如, processArg(arg2)並使用「評估表達式」(Alt-F8)。當調試器被告知繼續運行代碼時,這個結果將不會被使用,所以具有副作用的方法將被評估至少兩次(每次使用「Evaluate expression」一次,並且一次用於真正的調用)。