Ulrich Scholz Ulrich Scholz - 4 months ago 16
Java Question

Java debug mode: how to get return value of function call

The variable view of the Eclipse Java Debug mode allows to inspect the values of variables. What I'm frequently missing is to inspect the return value of methods: if such a return value is not stored into a variable but immediately used to call one of its methods, it is not visible in the debugger.

For example, consider

foo.getBar().equals("xxx");
where
getBar()
yields a String. If the source of
foo
is unavailable, how can the result of
getBar()
be inspected before the call to
.equals()
? Of course, one can change the code by introducing a local variable that holds the result. But that is too unpractical in general.

Eclipse Standard/SDK

Version: Luna Service Release 1 (4.4.1)
Build id: 20140925-1800

Answer

You can select the expression to inspect (in this case select foo.getBar()), then right-click and select "Inspect", or type the shortcut Ctrl+Shift+i. The side effect is that it will execute the method, so changes done in the method on, say, member fields will be applied.