Strumenti Utente

Strumenti Sito


informatica:sol:laboratorio17:esercitazionib:esercitazione1

Questa è una vecchia versione del documento!


Esercitazione 1

Illustrazione dei principali comandi emacs. Cenni a vi. Illustrazione dell'uso del debugger gdb su un semplice programma. Esercizio sul debugger gdb.

Illustrazione uso gdb

Vediamo come si usa il debugger gdb usando il codice usodebug.c contenuto in questo tarball. I comandi principali di 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, quindi, usando il debugger:

$ gdb ./findbug

inserire un breakpoint nel main (b main) ed eseguire il programma (r) step-by-step (n o s). Identificato l'errore e modificare il programma opportunamente.

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

Esercizio 2

Scrivere un programma C che prende in ingresso 2 interi e 2 stringhe. Stampare 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/laboratorio17/esercitazionib/esercitazione1.1487568648.txt.gz · Ultima modifica: 20/02/2017 alle 05:30 (8 anni fa) da Massimo Torquati

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki