10.1 Avvio del debugger
Studieremo il processo di debug basato su IntelliJ IDEA, che è logico e piacevole. Ora te ne convincerai.
In IntelliJ IDEA (è necessaria la versione Ultimate Edition) puoi avviare il tuo programma in due modalità:
| Modalità di avvio del programma | Icona sulla barra | Tasti di scelta rapida |
|---|---|---|
| Esecuzione normale | ![]() |
Shift+F10 |
| Avvio in modalità debug | ![]() |
Shift+F9 |
Con la modalità normale sei già familiare: il programma si avvia, esegue e termina. Ma la modalità debug porta con sé molte sorprese.
Modalità debug
La modalità debug ti permette di eseguire step-by-step l'intero programma. O sarebbe più giusto dire, riga per riga. Nel frattempo, puoi osservare i valori delle variabili ad ogni passo del programma (dopo l'esecuzione di ogni riga di codice). E persino cambiarli!
Per padroneggiare minimamente l'arte del debug, devi studiare tre cose:
- Punti di interruzione
- Esecuzione passo-passo
- Visualizzazione dei valori delle variabili
10.2 Punti di interruzione (Break Points)
L'IDE ti permette di posizionare nel codice dei marcatori speciali — punti di interruzione (break point). Ogni volta che il programma, avviato in modalità debug, arriverà alla riga segnata come break point, si metterà in pausa.
Per mettere un break point su una determinata riga, basta cliccare in IntelliJ IDEA a sinistra di quella riga. Esempio:
Di conseguenza la riga sarà contrassegnata da un punto di interruzione (break point), e IntelliJ IDEA illumerà tutta la riga in rosso:
Un secondo clic del mouse sulla barra a sinistra del codice rimuoverà il break point impostato.
Inoltre, il break point può essere semplicemente posizionato sulla riga corrente usando la combinazione di tasti — Ctrl+F8. Premendo nuovamente Ctrl+F8 sulla riga dove c'è già un break point, lo si rimuove.
10.3 Avvio del programma in modalità debug
Se nel tuo programma c'è almeno un punto di interruzione, puoi avviare il programma in modalità debug (Shift+F9 o "icona con il bug").
Dopo l'avvio in modalità debug il programma si esegue normalmente. Ma appena raggiunge l'esecuzione della riga di codice marcata come break point, si mette in pausa. Esempio:
Nella metà superiore dello screenshot vedi il codice del programma con due punti di interruzione. Il programma si è fermato alla riga 2 — segnata da una linea blu. La riga 2 non è ancora stata eseguita: nulla è stato ancora stampato sulla console.
Nella metà inferiore dello schermo vedi i pannelli della modalità debug: il pannello Thread & variables, il pannello Console (output a schermo), e un insieme di pulsanti per la modalità debug.
Puoi riprendere il tuo programma dalla pausa (continuare l'esecuzione) se premi il pulsante Resume Program sul pannello in basso a sinistra (o premi il tasto F9).
Se premi quel pulsante (o F9), il programma continuerà a lavorare finché non incontra il prossimo punto di interruzione o non termina. Ecco cosa vedremo dopo aver premuto quel pulsante:
Il programma si è fermato al secondo punto di interruzione, e nella console sono stampate le parole Hello e and – segno che delle tre righe di output a schermo soltanto due sono state eseguite.
10.4 Esecuzione passo-passo
Se il tuo programma è in modalità debug, puoi anche eseguirlo passo-passo: un passo — una riga. Per esecuzione passo-passo ci sono due tasti di scelta rapida: F7 e F8 — ognuno di essi esegue la riga di codice corrente. Ma prima dovrai comunque fermare il programma con un punto di interruzione.
Se vuoi eseguire il programma riga per riga, devi mettere un break point all'inizio — sulla prima riga di codice e avviarlo in modalità debug.
Quando il programma si ferma, potrai iniziare a eseguire passo-passo. Una pressione del tasto F8 — una riga.
Ecco come apparirà il nostro programma dopo la fermata e una pressione del tasto F8:
La prima riga — print(“Hello”) è già stata eseguita, e la riga corrente è la seconda. Puoi anche vedere nella parte inferiore dello screenshot che è già stata stampata la parola Hello.
10.5. Esecuzione passo-passo con ingresso nelle funzioni
Se nel tuo programma ci sono delle funzioni personalizzate, e vuoi che la modalità debug non solo esegua passo-passo, ma entri anche all'interno delle tue funzioni, allora per "entrare in funzione" devi premere non il tasto F8, ma il tasto F7.
Supponiamo che tu stia eseguendo il programma passo-passo e ora ti sei fermato alla 5ª riga. Se premi il pulsante F8, Intellij IDEA eseguirà semplicemente la quinta riga e passerà alla sesta:
Ma se premi F7, Intellij IDEA eseguirà passo-passo la funzione hello():
Tutto molto semplice. Se non ti interessa molto cosa e come succede dentro al metodo, premi F8, se ti interessa — F7 e esegui tutto il suo codice passo-passo.


GO TO FULL VERSION