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.