Successivo: , Su: Lista dei comandi di debug   [Contenuti][Indice]


14.3.1 Controllo dei punti d’interruzione

Come abbiamo già visto, la prima cosa che si dovrebbe fare in una sessione di debug è quella di definire dei punti d’interruzione, poiché altrimenti il programma verrà eseguito come se non fosse sotto il debugger. I comandi per controllare i punti d’interruzione sono:

break [[nome-file:]n | funzione] ["espressione"]
b [[nome-file:]n | funzione] ["espressione"]

Senza argomenti, imposta un punto d’interruzione alla prossima istruzione da eseguire nello stack frame selezionato. Gli argomenti possono essere uno dei seguenti:

n

Imposta un punto d’interruzione alla riga numero n nel file sorgente corrente.

nome-file:n

Imposta un punto d’interruzione alla riga numero n nel file sorgente nome-file.

funzione

Imposta un punto d’interruzione all’ingresso (la prima istruzione eseguibile) della funzione funzione.

A ogni punto d’interruzione è assegnato un numero che può essere usato per cancellarlo dalla lista dei punti d’interruzione usando il comando delete.

Specificando un punto d’interruzione, si può fornire anche una condizione. Questa è un’espressione awk (racchiusa tra doppi apici) che il debugger valuta ogni volta che viene raggiunto quel punto d’interruzione. Se la condizione è vera, il debugger ferma l’esecuzione e rimane in attesa di un comando. Altrimenti, continua l’esecuzione del programma.

clear [[nome-file:]n | funzione]

Senza argomenti, cancella ogni eventuale punto d’interruzione all’istruzione successiva da eseguirsi nello stack frame selezionato. Se il programma si ferma in un punto d’interruzione, quel punto d’interruzione viene cancellato in modo che il programma non si fermi più in quel punto. Gli argomenti possono essere uno tra i seguenti:

n

Cancella il punto (o i punti) d’interruzione impostato/i alla riga n nel file sorgente corrente.

nome-file:n

Cancella il punto (o i punti) d’interruzione impostato/i alla riga n nel file sorgente nome-file.

funzione

Cancella il punto (o i punti) d’interruzione impostato/i all’ingresso della funzione funzione.

condition n "espressione"

Aggiunge una condizione al punto d’interruzione o al punto d’osservazione esistente n. La condizione è un’espressione awk racchiusa tra doppi apici che il debugger valuta ogni volta che viene raggiunto il punto d’interruzione o il punto d’osservazione. Se la condizione è vera, il debugger ferma l’esecuzione e attende l’immissione di un comando. Altrimenti, il debugger continua l’esecuzione del programma. Se l’espressione della condizione non viene specificata, tutte le condizioni esistenti vengono rimosse (cioè, il punto d’interruzione o di osservazione viene considerato incondizionato).

delete [n1 n2 …] [nm]
d [n1 n2 …] [nm]

Cancella i punti d’interruzione specificati o un intervallo di punti d’interruzione. Se non vengono forniti argomenti, cancella tutti i punti d’interruzione esistenti.

disable [n1 n2 … | nm]

Disabilita punti d’interruzione specificati o un intervallo di essi. Senza argomenti, disabilita tutti i punti d’interruzione.

enable [del | once] [n1 n2 …] [nm]
e [del | once] [n1 n2 …] [nm]

Abilita specifici punti d’interruzione o un intervallo di essi. Senza argomenti, abilita tutti i punti d’interruzione. Opzionalmente, si può specificare come abilitare i punti d’interruzione:

del

Abilita dei punti d’interruzione una tantum, poi li cancella quando il programma si ferma in quel punto.

once

Abilita dei punti d’interruzione una tantum, poi li cancella quando il programma si ferma in quel punto.

ignore n contatore

Ignora il punto d’interruzione numero n le successive contatore volte in cui viene raggiunto.

tbreak [[nome-file:]n | funzione]
t [[nome-file:]n | funzione]

Imposta un punto d’interruzione temporaneo (abilitato solo per la prima volta che viene raggiunto). Gli argomenti sono gli stessi di break.


Successivo: , Su: Lista dei comandi di debug   [Contenuti][Indice]