Che cos’è e come funziona un debugger in informatica

Che cos’è e come funziona un debugger in informatica

Gli effetti dei bug all’interno dei programmi possono essere tanti: a volte sono quasi inesistenti o comunque non sono ben visibili perché incidono in maniera poco significativa sulle funzionalità del software, così da restare nascosti per molto tempo, destando pochi sospetti al programmatore; Altre volte invece possono essere molto pericolosi e ben visibili, soprattutto se determinano un blocco del software o, in casi critici, un crash, da cui deriva una mancata disponibilità del servizio che si desidera. A prescindere dalla loro gravità, complessità e natura, è comunque necessario per lo sviluppatore, trovare e correggere i bug per disporre di un software il più possibile sicuro.

Per favorire i programmatori nella ricerca dei bug, vengono utilizzati degli strumenti software appositi: i debugger.

Che cos'è e come funziona un debugger in informatica

I Debugger non sono altro che programmi, che consento di analizzare se un programma è sintatticamente corretto, in modo tale da effettuare una ricerca del bug in modo più veloce e accurato possibile. Grazie ai Debugger si ha la possibilità di scovare errori o malfunzionamenti all’interno del programma sfruttando funzioni specifiche per il debugging: l’attività che consiste proprio nell’individuazione della porzione di software affetta da bug.

Generalmente il tipo di debugger più utilizzato è il debugger a runtime che consente la ricerca dei bug tramite funzionalità standard come Breackpoint, ControlPoint e viste da Watch, che consentono al programmatore di analizzare più accuratamente determinate parti di codice per identificare gli errori con una scansione in avanti del codice.

Di contro però, la maggior parte dei debugger fornisce infatti, un‘assistenza limitata all’esecuzione in avanti del codice per la navigazione temporale, per cui i programmatori devono spesso ricorrere alla simulazione dell’esecuzione del programma mentalmente per cercare di immaginare i flussi di istruzioni che vengono eseguiti. Infatti, con un debugger a Runtime, il programmatore può cercare il bug inserendo dei breackpoint all’interno dei thread e sperare di scovare il bug facendo dei tentativi, magari entrando in Watch per osservare come vengono modificate le variabili durante l’esecuzione del programma. A tal proposito sono nati anche debug più complessi i cosidetti: debugger reversibili che a differenza dei debugger tradizionali, quest’ultimi consentono agli sviluppatori di registrare le attività del programma in esecuzione, per poi riavvolgere e riprodurre tali istruzioni, compresi eventuali errori, per ispezionare lo stato del programma.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *