lunedì 7 maggio 2018

Come Svolgere Il Debug Di Un Software

Col termine “Debug” ci si riferisce agli eventuali errori (bug appunto) di un programma.
Gli errori possono essere di due tipi: sintattici (rilevati sempre dal compilatore in fase di compilazione del programma) e semantici (difficilmente rilevabili).
In quest'ultimo caso ci si riferisce ad un programma che "funziona", anche se non svolge la funzione voluta (ad esempio utilizzando un prodotto "*" al posto di una potenza "**". Il programma funziona ma io mi aspetterei un prodotto, invece il software svolge una potenza).
Dunque per "debuggare" manualmente un software verifico quali sono gli effetti che una data funzione mi dovrebbe dare.
Se la verifica fallisce, ho trovato l'errore.
Il programmatore quindi deve essere in grado, per ogni istruzione del proprio programma, di prevedere cosa farà tale istruzione.
Generalmente l’ambiente di sviluppo ci mette a disposizione una serie di funzionalità per: eseguire passo passo ogni istruzione, controllare lo “stato” del nostro programma, visualizzare il contenuto delle variabili e lo stack delle chiamate a funzione.
Premettendo che ogni Debug varia in base alle funzioni quindi all'ambiente di sviluppo, ogni programma in questa fase viene lanciato in modalità Debug (a indicare che è ancora sotto test)
Così facendo sarà possibile controllare istruzione per istruzione il vostro codice.
Cominciare il debug dall’inizio del programma può essere davvero complicato, in questi casi si usano i cosiddetti "breakpoints" (punti del programma che ci interessa monitorare).
Il programma viene eseguito normalmente fino al breakpoint, poi passa in “modalità debug”
I breakpoint possono essere associati a condizioni e altre proprietà configurabili (a seconda di un certo risultato o variabile, se uguale a 0, 1 e così via).
Vanno monitorati nomi, caratteri, espressioni, variabili.


Per svolgere un Debug con Visual Studio vi rimando a questa guida: Eseguire Un Debug Con Visual Studio (Visual Basic, C, C++, C#
Per Java: Debug Java (Guida)

Nessun commento:

Posta un commento