lettura facile

Come fare il debug di uno script su Matlab

In questa lezione ti spiego come fare il debug di uno script su Matlab

Cos'è il debug? E' l'attività di ricerca di un errore nello script. La parola "bug" vuol dire problema o errore. Si chiama così perché nei primi calcolatori elettronici la presenza di un insetto (bug) nel calcolatore poteva causare dei malfunzionamenti. Oggi questo problema non c'è più... ma la parola bug è ancora usata per indicare il malfunzionamento di un programma.

Per fare il debug di uno script in Matlab puoi usare la parola chiave keyboard.

keyboard

La parola chiave keyboard è un punto di interruzione (breakpoint) che ti permette di sospendere l'esecuzione di uno script per verificare o modificare il valore delle variabili di ambiente.

E' molto utile nella ricerca delle cause di un errore (debugging) e in fase di test.

Come funziona il comando keyboard

Quando Matlab incontra la parola keyboard sospende l'esecuzione dello script e apre una riga di debug.

Il prompt della riga di debug si presenta in questo modo

k>>

A questo punto puoi compiere diverse operazioni.

Ad esempio, puoi controllare o modificare il valore delle variabili nell'ambiente operativo.

Una volta apportata la modifica puoi continuare l'esecuzione dello script usando il comando dbcont.

In alternativa, puoi usare il comando dbstep per eseguire soltanto l'istruzione successiva dello script in modalità step by step.

Nota. Se vuoi uscire dalla modalità debug e terminare l'esecuzione dello script usa il comando dbquit. In questo caso lo script non riprende l'esecuzione nel punto in cui è stato interrotto..

Ti faccio un esempio pratico.

Digita questo script

x=2;
y=3;
disp(x+y)

Quando esegui lo script il risultato in output è

5

Ora modifica lo script inserendo la parola keyboard prima della stampa del risultato.

x=2;
y=3;
keyboard
disp(x+y)

Poi esegui lo script.

In questo caso l'esecuzione dello script si interrompe quando l'interprete incontra la parola chiave keyboard.

Si apre la riga di debug

k>>

Nota. Se stai usando l'interfaccia grafica di Matlab nella barra superiore appaiono i comandi di debug che ti permettono di continuare l'esecuzione o di eseguire l'istruzione successiva passo dopo passo (step).
l'interfaccia di debug

Modifica il valore assegnato alla variabile x.

Digita x=4 e dai invio.

k>> x=4

Poi esegui il comando dbcont per continuare l'esecuzione dello script

k>> dbcont

Lo script riprende l'esecuzione nel punto in cui si era fermato.

Ora il valore della variabile x è però cambiato (x=4).

Lo script somma x=4 e y=3 restituendo come risultato la somma x+y=7

7

Questo ti permette di modificare le variabili e i parametri di un programma durante l'esecuzione.

In questo modo puoi cercare la causa di un errore, sperimentare una soluzione di un problema o migliorare l'efficienza del tuo script senza dover modificare ogni volta il codice dello script.

E così via.




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin