====== Usare gdb (GNU Debug) ======
Se possibile installare anche il pacchetto **''-dbg''** del programma de debuggare. Questo contiene i simboli utilizzabili per stabilire breakpoint, ecc. L'elenco dei simboli viene installato in **''/usr/lib/debug/''** e corrisponde al percorso e nome del file eseguibile. Ecco un estratto:
08120380 B ddns_update_style
08078e20 T ddns_updates
080884e0 T decline_lease6
08086d20 T decline_leases
Copiare il file sorgente del pezzo da debuggare nella directory corrente, ad esempio **''ddns.c''**, quindi lanciare **''gdb''**.
Con questi tre comandi si dichiara qual'è l'eseguibile da debuggare, si imposta un breakpoint all'inizio di una funzione, e si manda in esecuzione il programma con gli opportuni argomenti. In questo esempio il demone dhcpd viene avviato con l'opzione -f, che impone al programma di girare in foreground senza effettuare il fork in background:
file /usr/sbin/dhcpd
b ddns_updates
run -f -q eth0
Una volta raggiunto il breakpoint è possibile continuare l'esecuzione con **''next''**, **''step''**, **''continue''**.