CodeGym /Corsi /Python SELF IT /PyCharm Debug

PyCharm Debug

Python SELF IT
Livello 18 , Lezione 3
Disponibile

9.1 Avvio del debugger

Studieremo il processo di debug usando PyCharm, che è sia logico che piacevole. Vedrai che ne vale la pena.

In PyCharm puoi eseguire il tuo programma in due modalità:

Modalità di esecuzione del programma Icona nella barra Tasti di scelta rapida
Esecuzione normale Shift+F10
Esecuzione in modalità debug Shift+F9

Sei già familiare con la modalità normale: il programma si avvierà, eseguirà e si concluderà. Ma la modalità debug ha molte sorprese per te.

Modalità debug

La modalità debug ti consente di eseguire tutta la tua programma passo dopo passo. O sarebbe più corretto dire, riga per riga: riga per riga. Puoi osservare i valori delle variabili ad ogni passo del programma (dopo l'esecuzione di ogni riga di codice). E puoi anche cambiarli!

Per acquisire minimamente l'arte del debugging, devi studiare tre cose:

  • Punti di interruzione
  • Esecuzione passo-passo
  • Visualizzazione dei valori delle variabili

9.2 Punti di interruzione (Break Points)

L'IDE ti permette di posizionare nel codice delle etichette speciali — punti di interruzione (break point). Ogni volta che il programma, avviato in modalità debug, raggiunge una riga contrassegnata come break point, si metterà in pausa.

Per posizionare un break point su una riga specifica, basta fare clic in PyCharm a sinistra di quella riga. Esempio:

La riga sarà quindi contrassegnata come punto di interruzione (break point), e PyCharm evidenzierà l'intera riga in rosso:

Un altro clic del mouse sulla barra a sinistra del codice rimuoverà il break point impostato.

Inoltre, puoi semplicemente mettere un break point sulla riga corrente usando una combinazione di tasti rapida — Ctrl+F8. Premendo di nuovo Ctrl+F8 su una riga dove c’è già un break point, lo rimuoverai.

9.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 del bug").

Una volta avviato in modalità debug, il programma funziona normalmente. Ma non appena raggiunge la riga di codice contrassegnata da break point, si ferma in pausa. Esempio:

Nella parte superiore dello screenshot, puoi vedere il codice del programma con due punti di interruzione. Il programma è fermo su linea 2 — contrassegnata con una linea blu. La riga 2 non è stata ancora eseguita: non c'è ancora nessun output sulla console.

Nella parte inferiore dello schermo, vedi i pannelli della modalità debug: il pannello Thread & variables, il pannello Console (output a schermo), e una serie di pulsanti per la modalità debug.

Puoi togliere la pausa al tuo programma (continuare la sua esecuzione), se premi il pulsante Resume Program sul pannello in basso a sinistra (o premi il tasto F9).

Se premi questo pulsante (o F9), il programma continuerà a funzionare fino a che non incontrerà il prossimo punto di interruzione o non si concluderà. Ecco cosa vedremo dopo aver premuto questo pulsante:

Il programma si è fermato sul secondo punto di interruzione, e nella console sono stati stampati le parole "Hello" e "and" – segno che delle tre righe di output a schermo ne sono state eseguite solo due.

9.4 Esecuzione passo-passo

Se il tuo programma è in esecuzione in modalità debug, puoi eseguirlo anche passo-passo: un passo — una riga. Per l'esecuzione passo-passo ci sono due tasti di scelta rapida: F7 e F8: ciascuno di essi conduce a l'esecuzione della riga di codice corrente. Ma prima devi fermare il tuo programma usando un break point.

Se desideri eseguire il tuo programma riga per riga, devi posizionare un break point proprio all'inizio — sulla prima riga di codice — e avviare il programma in modalità debug.

Quando il programma si ferma, puoi iniziare l'esecuzione riga per riga. Un clic sul tasto F8 — una riga.

Ecco come apparirà il nostro programma dopo aver fermato e premuto il tasto F8 una volta:

La prima riga — print("Hello") — è già stata eseguita, e la riga corrente — è la seconda. Puoi anche vedere nella parte inferiore dello screenshot che la parola "Hello" è già stata stampata a schermo.

9.5 Esecuzione passo-passo con ingresso nelle funzioni

Se hai delle funzioni personalizzate nel tuo programma e desideri che in modalità debug il tuo programma non sia solo eseguito passo-passo, ma anche che entri all'interno delle tue funzioni, per "entrare in una funzione" devi premere non il tasto F8, ma il tasto F7.

Supponiamo che tu stia eseguendo il programma passo-passo e ora sei fermo sulla riga 5. Se premi il tasto F8, PyCharm eseguirà semplicemente la quinta riga e passerà alla sesta.

Ma se premi F7, PyCharm eseguirà passo-passo la funzione hello():

Tutto molto semplice. Se non ti interessa molto cosa succede dentro al metodo, premi F8, se invece ti interessa — premi F7 e esegui tutto il codice passo-passo.

Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION