Che cos'è un debugger?
Durante il tuo viaggio come sviluppatore, c'è sempre quel momento in cui finisci chiedendoti:
Perché il codice non funziona?
Porsi questa domanda è normale per qualsiasi sviluppatore. La soluzione consiste nel trovare e correggere i bug nel modo più semplice e rapido. Quando è presente un bug nel programma, è possibile gestirlo in uno di questi modi?
- Eseguire di nuovo il programma perché dovrebbe funzionare.
- Spiegare il problema a qualcun altro.
- Leggere di nuovo il codice per trovare il problema.
- Prendere una boccata d'aria.
- Inserire alcuni messaggi
Console.WriteLine("here")nel codice.
Si potrebbero avere diversi gradi di successo con questi metodi, ma un approccio è comunemente considerato come il più riuscito. Uso di un debugger. Ma che cos'è esattamente un debugger?
Un debugger è uno strumento software che è possibile usare per osservare e controllare il flusso di esecuzione del programma con un approccio analitico. Il suo obiettivo di progettazione è aiutare a trovare la causa radice di un bug e aiutare a risolverlo. Funziona ospitando il programma nel proprio processo di esecuzione. In alternativa, eseguendo come processo separato collegato al tuo programma, ad esempio .NET.
Sono disponibili debugger di diversi tipi. Alcuni funzionano direttamente dalla riga di comando, mentre altri sono dotati di un'interfaccia utente grafica. In questo modulo viene usato il debugger grafico integrato di Visual Studio.
Perché usare un debugger
Se il codice non viene eseguito tramite un debugger, significa che è probabile che si stia indovinando cosa accade nel programma. Il vantaggio principale dell'uso di un debugger è che è possibile controllare l'esecuzione del programma. È possibile seguire l'esecuzione del programma una riga di codice alla volta. In questo modo, non è necessario cercare di indovinare quale sia il problema.
Ogni debugger dispone di un set di funzionalità specifico. Le due funzionalità più importanti presenti in quasi tutti i debugger sono le seguenti:
- Controllo dell'esecuzione del programma. È possibile sospendere il programma ed eseguirlo passo dopo passo, che consente di vedere quale codice è in esecuzione e come influisce sullo stato del programma.
- Osservazione dello stato del programma. È ad esempio possibile esaminare il valore delle variabili e i parametri delle funzioni in qualsiasi momento durante l'esecuzione del codice.
L'uso di un debugger in modo efficace è una competenza importante ma trascurata per uno sviluppatore. Rende più efficiente la ricerca di bug nel codice e può aiutare a capire rapidamente il funzionamento di un programma.
È quello che si vedrà nella sezione successiva.