fisica:informatica:201415:esercitazioni:esercitazione7.2
Esercitazione debugging
L'esempio usato a lezione qua in formato tar ed i micro lucidi introduttivi.
Esercizio 1: sul debugging
Usare il debugger ddd per trovare cosa non va nel seguente programma C:
#include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <time.h> #define N 5 int main(void) { int a[N]; int i; srand(time(NULL)); i=0; while (i<N) { a[++i]=rand()%2; printf("iterazione %d\n",i); } printf("exiting ...\n"); }
in pratica il codice, salvato in “file.c” compilato con
gcc -Wall -pedantic -o ese file.c
ed eseguito con
$ ./ese
va inspiegabilmente in ciclo all'interno del ciclo. Per eseguire in modalita' interattiva di debugging:
- Compilare con opzione “-g”, ad esempio
gcc -Wall -pedantic -g -o ese file.c
- lanciare l'eseguibile usando il debugger come in
$ ddd ./ese
a questo punto e' possibile fermare il programma durante la sua esecuzione, ispezionare le variabili etc..
Esercizio 2: Debuggare codice altrui ...
Per i solutori piu' che abili Utilizzare DDD per provare a trovare cosa non va nei due programmi C in esempi.tar.
fisica/informatica/201415/esercitazioni/esercitazione7.2.txt · Ultima modifica: 20/04/2015 alle 07:22 (10 anni fa) da Susanna Pelagatti