2012-01-20 10 views

risposta

20

Eclipse ha molto robuste funzionalità di debug - molto più di quanto Objective C.

Prima di tutto, durante il debug è possibile visualizzare i valori di tutte le variabili nella finestra Variabili. Inoltre, nella parte inferiore della finestra Variabili è possibile digitare arbitrario Java, selezionarlo, fare clic con il tasto destro del mouse, quindi selezionare Inspect o Execute. In realtà puoi cambiare il valore delle variabili nel tuo programma, mentre è in esecuzione.

Si può fare praticamente la stessa cosa nel pannello sorgente. Evidenzia una variabile, fai clic con il pulsante destro e scegli Verifica. Puoi anche digitare un'espressione casuale ed eseguirla. Puoi anche posizionare gli orologi su variabili (che credo tu possa fare in Objective-C) o sulle espressioni.

C'è una vista di espressione che non è visualizzata per impostazione predefinita (sul menu selezionare Finestra-> Viste-> Espressioni, mentre in prospettiva Debug). Ti consente di aggiungere espressioni Java (valide) arbitrarie e i valori di tali espressioni verranno quindi osservati per tutta la durata della sessione di debug, molto elegante. Grazie a @Baldrick per il promemoria di questo fantastico strumento.

+3

+1. Anche la vista "Espressione" (nella prospettiva Debug). Puoi inserire il codice Java in questa vista che viene valutato quando si raggiunge un punto di interruzione e in ogni fase del debug. – Baldrick

+0

@B aldrick: totalmente dimenticato della vista Expression, che è un altro eccellente strumento. – Perception

+2

Voglio console da riga di comando perché non voglio usare il mouse quando valuti un'espressione perché di solito l'espressione per il debug diventa complessa. Inoltre, puntare l'icona piccola con il mouse è molto più difficile rispetto all'utilizzo della tastiera. – Eonil

4
System.out.println(nameOfValue); 
+1

Non riesco a trovare la finestra che posso inserire questo :( – Eonil

+0

Puoi metterlo nella finestra delle espressioni – MichaelStoner

+0

Il codice precedente andrebbe nella vista "Visualizzazione" poiché è un comando non un'espressione. –

0

Override toString per quell'oggetto/classe. Quindi System.out.println (objectVariable).

1

Fare clic sul menu Finestra selezionare Mostra visualizzazione tipo di visualizzazione e mostrare quella vista. In questa vista è possibile digitare java come System.out.println(objectName); quando l'applicazione è stata messa in pausa durante il debug.

+0

Questo non lo fa non stampare nulla ... – Eonil

+0

Dovrebbe stamparlo nella console o darti un errore nella finestra di visualizzazione se il codice non può essere eseguito – James

+0

L'oggetto sta cercando di stampare una stringa, se così fosse la stringa può essere vuota prova un'altra riga dopo per stampare del testo e vedere se c'è uno spazio tra l'ultima uscita della console e il testo che hai stampato – James

2

Non sono a conoscenza di alcuna opzione di stampa dell'intero stato dell'oggetto nella console durante il debug.

Ma è possibile sovrascrivere il metodo toString() dell'oggetto e concatenare la stringa con i valori di ciascun campo o qualsiasi altra cosa si desideri stampare per quell'oggetto. Quindi, quando si chiama da qualche parte nel codice System.out.print(myObject);, verrà stampato il risultato del metodo toString() che hai sovrascritto.

Problemi correlati