Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Debugger | Come Lavorare con l'IDE?
Java OOP

bookDebugger

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

Main.java

copy
12345678910111213
package 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?

question mark

Qual è lo scopo principale di un debugger?

Select the correct answer

question mark

Cosa permette di fare un breakpoint in un debugger?

Select the correct answer

question mark

Cosa fa il pulsante "Step Over" nel debugger?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 5

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Awesome!

Completion rate improved to 4.76

bookDebugger

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

Main.java

copy
12345678910111213
package 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?

question mark

Qual è lo scopo principale di un debugger?

Select the correct answer

question mark

Cosa permette di fare un breakpoint in un debugger?

Select the correct answer

question mark

Cosa fa il pulsante "Step Over" nel debugger?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 1. Capitolo 5
some-alt