2009-08-21 10 views
11

Mi chiedo se sia possibile esaminare i valori delle variabili non dichiarate non appena vengono passati in una funzione, dopo che la funzione è stata eseguita. Ad esempio, se io sono il debug e la lineaIn Eclipse Debugger (per Java), c'è un modo per ispezionare valori arbitrari?

foo.setBar(baz.getBar()); 

è già stato superato (ma è ancora nel campo di applicazione), come posso vedere il valore di ciò che viene però passato per setBar()? So che posso vedere questo in molti altri modi, ad esempio entrando nella chiamata setBar() o assegnando baz.getBar() a una variabile temporanea, ma non è quello che sto chiedendo.

Modifica: Fondamentalmente, mi sento penalizzato (perdendo la possibilità di vedere determinate informazioni) durante il debug, solo perché non sto dichiarando ogni variabile.

E, so che potrei ispezionare bar dopo il fatto (se so che non era cambiato) ma in questo caso non è così semplice perché ho a che fare con oggetti che non sono solo POJO o JavaBeans (il l'oggetto che ha sollevato questa domanda è una richiesta HTTP - e sì, ho già provato a controllarlo).

+0

ad essere ancora più specifici, che si desidera sapere cosa è passato in foo.setBar (...) anche se viene chiamato due volte? cioè, qual è stato il primo valore passato e quale era il secondo? – akf

risposta

14

Nella prospettiva Debug, aprire la finestra di visualizzazione (Finestra => Mostra vista => Schermo), scrivere il codice che si desidera visualizzare (ad esempio, baz.getBar()), selezionarlo, quindi fare clic con il tasto destro e selezionare "Visualizza" oppure utilizzare la scorciatoia per visualizzarne il valore.

+0

Quasi - dovevo selezionare il testo che volevo eseguire prima. Grazie! Non ho mai saputo di quella vista. –

+0

Ho usato Ispeziona tutto il tempo, ma questo è veramente utile quando vuoi provare effettivamente bit di codice arbitrari. Molto meno ingombrante che modificare le espressioni in ogni momento. Grazie per l'ennesima funzione nascosta di Eclipse! =) – schonarth

4

E ovviamente è possibile utilizzare la vista "Espressioni" (Finestra -> Mostra vista -> Espressioni).

10

Un modo molto più semplice è selezionare un'espressione (qui: baz.getBar()) e premere CTRL + MAIUSC + I (per controllare). Questo apre una finestra del tooltip come tutto ciò che vuoi sapere.

+0

Infatti! Tuttavia, meno flessibile. –

0

nelle vostre espressioni visualizzare, aggiungere la seguente espressione

baz.getBar() 

e sarà dispayed durante il debug (se è visibile al debugger naturalmente)

+0

Questo non è diverso da [risposta di Serge.] (Http://stackoverflow.com/a/1313418/139010) –

Problemi correlati