Debugger
Che cos'è un Debugger?
Un debugger è uno strumento che consente di analizzare passo dopo passo il proprio codice. È possibile mettere in pausa l'esecuzione del codice in un determinato punto e avviare la modalità di debug per osservare come funziona il codice. Per fare ciò, è necessario impostare un marcatore (breakpoint) sulla riga in cui si desidera interrompere l'esecuzione.
Abbiamo un codice che dovrebbe calcolare la somma dei numeri da uno a dieci, inclusi. Il risultato dovrebbe essere 55, ma otteniamo come risposta 45. Impostiamo un breakpoint all'inizio del ciclo per capire perché la risposta non corrisponde. Per farlo, è necessario cliccare con il tasto sinistro del mouse sul numero della riga, e lì apparirà un marcatore rosso.
Ecco il codice dallo screenshot, riscritto per una migliore leggibilità e chiarezza:
Main.java
12345678910111213package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int result = 0; for(int i = 0; i < 10; i++) { result += 1; System.out.println(result); } } }
Strumenti all'interno della modalità di debug
Esaminiamo brevemente come utilizzare il debugger e quali strumenti sono disponibili al suo interno.
-
Step Over: Con questo pulsante, è possibile proseguire l'esecuzione del codice una riga alla volta. Quando viene premuto, il debugger esegue la riga corrente e passa a quella successiva, fermandosi nuovamente;
-
Step Into: Con questo pulsante, è possibile entrare nell'esecuzione di un metodo. Nel nostro esempio non è presente alcun metodo, ma se ci fosse, sarebbe possibile accedervi e osservare cosa accade al suo interno;
-
Step Out: Questo pulsante è l'opposto del precedente. Permette di uscire dall'esecuzione di un metodo o di un ciclo;
-
È possibile visualizzare i valori delle variabili nella finestra in basso o accanto a queste variabili. Si può vedere chiaramente il valore della variabile
result, che inizialmente è pari a zero.
Iterazione attraverso il codice
Per iterare, fare clic sul pulsante "Step Over". Si entra nel ciclo for, e compare il valore della variabile i, che viene creata all'interno del ciclo for. Inizialmente, questa variabile viene impostata a zero.
Successivamente, fare clic su "Step Over" più volte per completare un'iterazione e spostarsi sulla console per verificare se viene stampato qualcosa sullo schermo. Si può osservare che la variabile i è aumentata di 1, e "0" è stato visualizzato sullo schermo, poiché sia la variabile result sia la variabile i erano inizialmente impostate a zero. 0 + 0 = 0 -> questo è ciò che è stato visualizzato sullo schermo.
Saltiamo le iterazioni di stampa degli altri numeri sulla console e andiamo direttamente alla fine. È qui che possiamo vedere l'errore principale nel nostro ciclo. Dobbiamo visualizzare la somma dei numeri da 0 a 10 inclusi, ma non abbiamo incluso 10. Pertanto, quando vediamo che i = 9 e quando viene incrementato a 10, usciamo dal ciclo poiché 10 !< 10 (10 non è minore di 10).
Per risolvere questo problema, dobbiamo cambiare la condizione in i <= 10. In questo modo otterremo il risultato corretto.
In sostanza, abbiamo premuto più volte il pulsante "Step Over", portandoci alla realizzazione dell'errore nel ciclo e alla successiva correzione.
Nota
Ho mostrato solo gli strumenti di base del debugger. Per imparare a usarli, è necessario esercitarsi autonomamente. Puoi scrivere un programma simile e vedere in modo indipendente come funziona tutto. Il debugger è uno strumento molto utile perché aiuta a lavorare sugli errori e sui bug nel codice.
1. Qual è lo scopo principale di un debugger?
2. Cosa permette di fare un breakpoint in un debugger?
3. Cosa fa il pulsante "Step Over" nel debugger?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 4.76
Debugger
Scorri per mostrare il menu
Che cos'è un Debugger?
Un debugger è uno strumento che consente di analizzare passo dopo passo il proprio codice. È possibile mettere in pausa l'esecuzione del codice in un determinato punto e avviare la modalità di debug per osservare come funziona il codice. Per fare ciò, è necessario impostare un marcatore (breakpoint) sulla riga in cui si desidera interrompere l'esecuzione.
Abbiamo un codice che dovrebbe calcolare la somma dei numeri da uno a dieci, inclusi. Il risultato dovrebbe essere 55, ma otteniamo come risposta 45. Impostiamo un breakpoint all'inizio del ciclo per capire perché la risposta non corrisponde. Per farlo, è necessario cliccare con il tasto sinistro del mouse sul numero della riga, e lì apparirà un marcatore rosso.
Ecco il codice dallo screenshot, riscritto per una migliore leggibilità e chiarezza:
Main.java
12345678910111213package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int result = 0; for(int i = 0; i < 10; i++) { result += 1; System.out.println(result); } } }
Strumenti all'interno della modalità di debug
Esaminiamo brevemente come utilizzare il debugger e quali strumenti sono disponibili al suo interno.
-
Step Over: Con questo pulsante, è possibile proseguire l'esecuzione del codice una riga alla volta. Quando viene premuto, il debugger esegue la riga corrente e passa a quella successiva, fermandosi nuovamente;
-
Step Into: Con questo pulsante, è possibile entrare nell'esecuzione di un metodo. Nel nostro esempio non è presente alcun metodo, ma se ci fosse, sarebbe possibile accedervi e osservare cosa accade al suo interno;
-
Step Out: Questo pulsante è l'opposto del precedente. Permette di uscire dall'esecuzione di un metodo o di un ciclo;
-
È possibile visualizzare i valori delle variabili nella finestra in basso o accanto a queste variabili. Si può vedere chiaramente il valore della variabile
result, che inizialmente è pari a zero.
Iterazione attraverso il codice
Per iterare, fare clic sul pulsante "Step Over". Si entra nel ciclo for, e compare il valore della variabile i, che viene creata all'interno del ciclo for. Inizialmente, questa variabile viene impostata a zero.
Successivamente, fare clic su "Step Over" più volte per completare un'iterazione e spostarsi sulla console per verificare se viene stampato qualcosa sullo schermo. Si può osservare che la variabile i è aumentata di 1, e "0" è stato visualizzato sullo schermo, poiché sia la variabile result sia la variabile i erano inizialmente impostate a zero. 0 + 0 = 0 -> questo è ciò che è stato visualizzato sullo schermo.
Saltiamo le iterazioni di stampa degli altri numeri sulla console e andiamo direttamente alla fine. È qui che possiamo vedere l'errore principale nel nostro ciclo. Dobbiamo visualizzare la somma dei numeri da 0 a 10 inclusi, ma non abbiamo incluso 10. Pertanto, quando vediamo che i = 9 e quando viene incrementato a 10, usciamo dal ciclo poiché 10 !< 10 (10 non è minore di 10).
Per risolvere questo problema, dobbiamo cambiare la condizione in i <= 10. In questo modo otterremo il risultato corretto.
In sostanza, abbiamo premuto più volte il pulsante "Step Over", portandoci alla realizzazione dell'errore nel ciclo e alla successiva correzione.
Nota
Ho mostrato solo gli strumenti di base del debugger. Per imparare a usarli, è necessario esercitarsi autonomamente. Puoi scrivere un programma simile e vedere in modo indipendente come funziona tutto. Il debugger è uno strumento molto utile perché aiuta a lavorare sugli errori e sui bug nel codice.
1. Qual è lo scopo principale di un debugger?
2. Cosa permette di fare un breakpoint in un debugger?
3. Cosa fa il pulsante "Step Over" nel debugger?
Grazie per i tuoi commenti!