Vai al contenuto

Inform e Glulx/Le basi di Inform/Il debugging

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Il debugging

[modifica | modifica sorgente]

Il debugging è quel processo che permette al programmatore di individuare degli eventuali errori (chiamati più comunemente bug durante la fase di esecuzione di un programma. Ecco un tipico esempio che chiarisce meglio quanto appena detto:

! Esempio sull'uso del debugging

Include "Parser"; Include "VerbLib"; Include "Replace";
Constant DEBUG_TEST;
[ Funz_princip x n; ClearScreen(); ! pulisce lo schermo print "^Inserire il numero da elevare al quadrato: "; x = GetNumber(2);
#IfDef DEBUG_TEST; print "***x ora vale ", x, "***^"; KeyCharPrimitive(); #Endif;
n = Quadrato(x); print "Il quadrato di ", x ," @`e ", n ,".^"; print "^Premi un tasto per uscire^"; KeyCharPrimitive(); ! legge un carattere dalla tastiera ];
[ Quadrato number; return number*number; ];
[ Initialise; Funz_princip(); quit; ! fine del programma ];
Include "Io"; Include "ItalianG";

Se la costante DEBUG_TEST è definita, allora Inform stampa a video il messaggio corrispondente:

Inserire il numero da elevare al quadrato: 6

***x ora vale 6***

In questo modo, siamo veramente sicuri che l’istruzione GetNumber abbia effettivamente ritornato alla variabile x il valore da noi voluto. Dopo la pressione di un tasto qualsiasi da parte dell’utente, il programma continua normalmente:

Il quadrato di 6 è 36.


Premi un tasto per uscire

Se il codice compreso fra le istruzioni #IfDef ed #Endif viene compilato ed eseguito solo quando è definita la costante DEBUG_TEST, a questo punto dovrebbe essere ormai facile capire come fare in modo che tutto questo non avvenga. Basta semplicemente commentare con un punto esclamativo la riga nella quale la costante viene definita:

! Constant DEBUG_TEST

ottenendo così il seguente risultato:

Inserire il numero da elevare al quadrato: 6

Il quadrato di 6 è 36.


Premi un tasto per uscire

che la dice lunga sulle potenzialità di questo straordinario linguaggio di programmazione[1].

  1. Cliccate qui per scaricare il listato dell'esercizio (il file 3.18.inf).