2009-05-16 12 views
61

Nella maggior parte dei linguaggi di programmazione che ho usato, durante il debug, quando ho raggiunto un punto di interruzione, ho la possibilità di eseguire codice arbitrario (qualunque cosa digiti nella console dopo che il punto di interruzione è stato colpito).In eclissi, durante il debug, come accedere al livello superiore interattivo (a.ka.la "console di visualizzazione")?

Come si fa in Eclipse? La modalità di debug ha, per impostazione predefinita, una console di visualizzazione, ma nessuna console interattiva (in cui posso inserire codice Java per l'esecuzione immediata)

risposta

89

È possibile utilizzare il display per eseguire abritary codice, accedervi tramite:

Finestra-> Mostra Visualizza-> Schermo

quindi digitare il codice che si desidera eseguire (è possibile utilizzare CTRL+SPACE per il completamento automatico).

per eseguire il codice, selezionatelo quindi:

CTRL + MAIUSC + D

Questo dovrebbe eseguire il codice in base al punto di interruzione hai colpito.

alt text http://i39.tinypic.com/1z4jsd0.gif

+7

ah ... è un po 'goffo. non c'è un livello superiore interattivo in cui posso semplicemente digitare, quindi premere invio e il mio codice verrà eseguito? e avere una cronologia di input delle mie voci mantenute (simile alla freccia su/giù su qualsiasi riga di comando di Linux)? –

+1

È di primo livello, a patto che tu lo imposti nella prospettiva del debug, sarà sempre lì. Puoi digitare un'espressione in quello. Non ho idea del motivo per cui devi selezionarlo per eseguirlo. Sono d'accordo è un po 'goffo ... fa quello che stai chiedendo però :) nessuna storia .. ooh err ... ma puoi convertirlo in un'espressione di watch dopo averlo fatto, quindi credo che sia sufficiente. – Jon

+1

Ctrl + Shift + D non funziona per me. Sono in un Mac così ho anche provato Cmd + Shift + D ma sfortuna. – nacho4d

2

Eclipse ha davvero. Finestra-> Mostra vista-> Console interattiva. Nota che puoi anche eseguire espressioni nella vista Orologio (ad esempio result = false, exception.printStackTrace(), ecc.).

+6

mio eclisse non ha una voce per console interattiva. Solo console. Continuerò a curiosare - almeno so che la funzione esiste. Grazie. –

+1

Sospetto che digitalbreed significhi solo Console. La mia installazione di Fedora Eclipse 3.4.1 non ha una console interattiva. È possibile digitare input lì se il programma è in attesa di input per qualcosa da continuare. Tuttavia non esegue codice artibrary. –

+1

No, non mi riferivo alla Console. Ma sospetto che la console interattiva che ho fornito con il plug-in di Google ... scusa per la confusione. – digitalbreed

Problemi correlati