2014-11-10 5 views
8

La vista variabile della modalità Debug Java di Eclipse consente di esaminare i valori delle variabili. Quello che mi manca di frequente è ispezionare il valore di ritorno dei metodi: se tale valore di ritorno non è memorizzato in una variabile ma è immediatamente utilizzato per chiamare uno dei suoi metodi, non è visibile nel debugger.Modalità debug Java: come ottenere il valore restituito dalla funzione chiamata

Ad esempio, considerare foo.getBar().equals("xxx"); dove getBar() produce una stringa. Se la sorgente di foo non è disponibile, come può essere verificato il risultato di getBar() prima della chiamata a .equals()? Certamente, si può cambiare il codice introducendo una variabile locale che contiene il risultato. Ma questo è troppo poco pratico in generale.

Eclipse Standard/SDK

Versione: Luna Service Release 1 (4.4.1) Corporatura ID: 20140925-1800

+0

Non hai bisogno della fonte. Salta nel metodo e il tuo valore è presentato nella vista delle variabili senza vedere la fonte. –

risposta

11

È possibile selezionare l'espressione di ispezionare (in questo caso selezionare foo.getBar()), poi fare clic con il tasto destro e selezionare "Ispeziona" o digitare la scelta rapida Ctrl + Shift + i. L'effetto collaterale è che eseguirà il metodo, quindi verranno applicate le modifiche apportate al metodo su, ad esempio, i campi membri.

Vedere Evaluating expressions in a debugging session, trasferito da SO Documentazione, come esempio di documentazione correlata.

+1

Sembra fare il trucco. Ma in generale mi chiedo dell'ispezione e degli effetti collaterali? –

+3

L'effetto collaterale è che eseguirà il metodo, quindi verranno applicate le modifiche apportate al metodo su, ad esempio, i campi membri. – manouti

Problemi correlati