Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 867
Ulrich Scholz Avatar asked Nov 10 '14 14:11

Ulrich Scholz


1 Answers

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.

See Evaluating expressions in a debugging session, transferred from SO Documentation, as a related documentation example.

like image 57
M A Avatar answered Oct 25 '22 14:10

M A