Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio16:esercitazionia:esercitazione1

Esercitazione 1

Illustrazione dei principali comandi emacs. Cenni a vi. Principali differenza tra ANSI C e C99. Illustrazione uso del debugger gdb su un semplice programma. Esercizio sul debugger gdb.

Illustrazione uso gdb

Vediamo come si usa il debugger gdb usando is codice usodebug.c contenuto in questo tarball. I comandi del gdb da ricordare sono:
- run ( r ), break <file:linea> ( b ), step ( s ), next ( n ), print <variabile> ( p ), set args <argomenti>, backtrace ( bt ), finish, continue ( c ), quit ( q ).

Esercizio 1

Usare il debugger gdb (o per chi vuole la sua interfaccia grafica ddd ) per trovare gli errori in findbug.c (nello stesso tarball precedente) e correggerli.

Compilare il codice nel seguente modo (ATTENZIONE all'opzione “-g” che abilita le informazioni di debugging):

gcc -std=c99 -g findbug.c -o findbug

quindi lanciare l'eseguibile e verificare quali errori produce, poi usando il debugger:

$ gdb ./findbug

inserire un breakpoint nel main ed eseguire il programma step-by-step. Identificato l'errore modificare il programma opportunamente.

Trovare il bug nel file findbug2.c (nello stesso tarball)

Esercizio 2

Scrivere un programma C che stampa a video tutta la lista degli argomenti (argv) e tutte le variabili d'ambiente del programma (envp). Ricordare che una possibile segnatura della funzione main e':

int main(int argc, char *argv[], char *envp[]);
informatica/sol/laboratorio16/esercitazionia/esercitazione1.txt · Ultima modifica: 24/02/2016 alle 14:25 (7 anni fa) da Massimo Torquati