2011-02-06 2 views
6

Supponiamo che nel jdb Sono al seguente luogo nel codice:Controllare il valore di ritorno di un metodo in jdb

return 22; 
-->} 

Come faccio a discarica il valore dell'oggetto (o primitiva) che sta per essere tornato? Sembra un dolore dover memorizzare il valore restituito in una variabile locale prima di restituirlo, solo così posso vedere cosa verrà restituito.

In effetti, voglio fare in jdb ciò che è descritto nel link per gdb:

How to inspect the return value of a function in GDB?

risposta

4

Beh, la VM è STACK orientato e quindi non c'è nulla come quei registri da leggere. Mentre nel metodo è possibile fare trace method exit e il valore di ritorno verrà visualizzato quando il metodo si chiude. Questo non è esattamente quello che hai chiesto dal momento che vedi il valore solo quando il metodo è uscito. L'altra opzione è print l'espressione che verrà restituita, presupponendo che questo non abbia effetti collaterali.