Utilizza Run Code / Run (Esegui Codice) quando desideri eseguire il tuo programma e vedere il suo output. Utilizza Debug quando vuoi mettere in pausa a una riga, ispezionare le variabili e capire perché un risultato è errato. Il debug è particolarmente utile quando il tuo codice viene eseguito senza errori ma produce una risposta inaspettata.

Questa guida utilizza l'executor Python di CodeUtility e un piccolo esempio di calcolo. Il flusso di lavoro con punti di interruzione e passaggi si applica anche ad altri executor dove è disponibile il Debug. Il supporto e i controlli di runtime possono variare; utilizza un runtime server supportato per questo walkthrough Python. Le schermate mostrano l'interfaccia in inglese.

1. Prova un piccolo programma con un bug logico

Apri l'executor Python, scegli Python 3.11 nel menu delle versioni e inserisci le seguenti quattro righe. Un prezzo di 12 moltiplicato per una quantità di 3 dovrebbe dare 36. Questo programma utilizza deliberatamente l'addizione, quindi produce 15.

price = 12
quantity = 3
total = price + quantity
print(total)

2. Imposta un punto di interruzione prima di avviare il Debug

Clicca nel margine sinistro accanto a linea 3, la riga contenente total = price + quantity. Apparirà un marcatore di punto di interruzione rosso. Un punto di interruzione indica al debugger dove mettere in pausa. Clicca di nuovo sul marcatore per rimuoverlo. Posiziona i punti di interruzione su istruzioni eseguibili piuttosto che su righe vuote o commenti.

Un punto di interruzione rosso accanto alla linea 3 segna dove l
Un punto di interruzione rosso accanto alla linea 3 segna dove l'esecuzione dovrebbe fermarsi.

3. Avvia il Debug e ispeziona i valori

Seleziona Debug nella barra degli strumenti dell'editor; passa il mouse su un'icona per vedere la sua etichetta. Aspetta che la finestra del debugger riporti Paused at line 3 (In pausa alla linea 3). In pausa significa che il programma sta aspettando la tua prossima azione di debug.

Guarda sotto VARIABLES (VARIABILI): price è 12 e quantity è 3. La linea 3 non è stata ancora eseguita, quindi total non è elencato. La riga evidenziata è la prossima istruzione da eseguire. Lo CALL STACK (STACK DI CHIAMATA) mostra dove l'esecuzione è attualmente in pausa.

In pausa prima della linea 3: il prezzo è 12 e la quantità è 3; il totale non è ancora stato assegnato.
In pausa prima della linea 3: il prezzo è 12 e la quantità è 3; il totale non è ancora stato assegnato.

4. Passa attraverso il calcolo

Clicca Step Over (Passa oltre) una volta. L'esecuzione si sposta alla linea 4, e total ora appare con il valore 15. Questo mostra che la risposta errata deriva dall'addizione dei due valori sulla linea 3.

Dopo Passa oltre, il debugger si ferma alla linea 4 e mostra total = 15.
Dopo Passa oltre, il debugger si ferma alla linea 4 e mostra total = 15.

Continue (Continua) riprende fino a quando non viene raggiunto un altro punto di interruzione o il programma termina. Step Over (Passa oltre) esegue l'istruzione corrente senza entrare in una funzione chiamata. Step Into (Entra) entra in una funzione chiamata quando supportato. Step Out (Esci) esegue fino a quando la funzione corrente non restituisce. Stop (Ferma), mostrato come un'icona quadrata, termina la sessione di debug.

5. Correggi il codice e rieseguilo

Seleziona Continua per terminare l'esempio, oppure Ferma per concludere la sessione. Sostituisci il segno più sulla linea 3 con un segno di moltiplicazione, quindi seleziona Run Code / Run (Esegui Codice) per controllare l'output. Dovresti vedere 36. Puoi anche avviare di nuovo il Debug e utilizzare Passa oltre per verificare il valore corretto.

price = 12
quantity = 3
total = price * quantity
print(total)

Se il debug non si ferma dove ti aspetti

Controlla che un punto di interruzione rosso sia impostato prima di avviare il Debug, che hai selezionato Debug e che il programma raggiunga effettivamente quella riga. Scegli una riga eseguibile e conferma che il runtime selezionato supporti il debug. Gli errori di sintassi possono impedire l'esecuzione di raggiungere un punto di interruzione. Se il tuo programma richiede input, forniscilo nel terminale affinché l'esecuzione possa continuare.

Per la tua prossima sessione di debug, posiziona un punto di interruzione appena prima del calcolo sospetto, ispeziona i suoi input e procedi fino a trovare il primo valore inaspettato. Se hai solo bisogno dell'output finale, seleziona Esegui Codice.