? Debug di un programma significa essenzialmente trovare gli errori e correggerli. A " baco " è un piccolo errore nel codice che potrebbe eludere avviso a causa di una varietà di fattori . Poiché i programmi per computer sono diventati così complessi , anche il più piccolo errore può causare grossi problemi su tutta la linea . Il debug di un programma in C comporta l'uso di un debugger per aiutare gli errori di cattura . Tuttavia, un debugger non è un sostituto per un programmatore che sa guardare e per intercettare gli errori . Controllo uscita
programmi più piccoli , un programmatore può probabilmente verificare alcune uscite per determinare se lo stato di programma rimane corretta durante l'esecuzione. In questo caso , l'inserimento di istruzioni di stampa in un programma per mostrare le variabili che normalmente non sono visibili per l'utente in grado di garantire un programma funziona - o fino a che punto funziona prima di schiantarsi :
int i = 0 ;
INTJ ;
j = someFunction ( i) //fa un po 'di lavoro su i e restituisce un valore
printf ( " % d" , j ) //stampa j per garantire j è un valore legittimo
C debugger
seconda dell'ambiente di sviluppo , un programmatore dovrebbe avere il debug del software disponibile per applicare a qualsiasi codice . Questi programmi " a piedi attraverso " un programma durante l'esecuzione , tenendo traccia di variabili e condizioni finché non si verifica un errore . Quando l'errore si verifica, il debugger restituirà le informazioni sull'errore . Inoltre, molti debugger consentono ai programmatori di " passo attraverso " una sola riga di codice alla volta , in modo che il programmatore può esaminare l' esecuzione del codice . Per i sistemi Linux , il progetto GNU Debugger ( gdb) possiede questa funzionalità ( gnu.org /s /gdb ), mentre i programmatori di Windows possono utilizzare il debugger incluso in Visual Studio ( Microsoft.com /Express).
< Br > con debugger e punti di interruzione
software debugging si usa il concetto di " punti di rottura ", in cui un programmatore può fermare un programma a metà esecuzione durante il debug per determinare lo stato del codice . Ad esempio, se il codice qui sotto si blocca ad un certo punto , il programmatore potrebbe non sapere dove o quando si è verificato l' errore
int i , j ; .
I = ControllaNumero ( ) ;
j = j + i ;
j = modifica ( i, j) ;
potrebbe essersi verificato nella funzione ControllaNumero , la funzione di modifica, o da qualche parte in precedenza nel programma principale . Un punto di interruzione può impostare un luogo in cui si arresta codice prima l'errore , in modo che il programmatore può valutare le condizioni prima che si verifichi l'errore .
Passo del codice
debug complessi possono comportare andando riga per riga tramite il codice. Una volta che il programmatore identifica un possibile errore di posizione , può eseguire il codice del programma riga per riga , tenendo traccia dello stato del programma finché non si verifica un errore . Questo permette al programmatore di individuare l'esatta posizione del programma , e tornate indietro per vedere dove le condizioni di errore di origine . In questo esempio , Stati
i = ControllaNumero ();
j = j + i ;
j = modifica ( i, j) ;
se l'errore accade alla funzione "Modifica" , quindi il programmatore può fare marcia indietro , e si scoprirà che la "i" ricevuto un valore cattivo da " ControllaNumero " e così corrotto " modificare ".
< br >