GDB, The GNU Debugger

Ieri ho caricato un video sul canale inglese in cui parlo del debugger GDB.

È un tool fondamentale da conoscere se si vuole entrare in profondità in determinate tematiche, tra cui Sistemi Operativi, Binary Exploitation, ed in generale se si ha la necessità di debuggare programmi complessi.

In futuro l’obiettivo è anche di portare un contenuto del genere sul canale italiano. Ma adesso sto pieno tra lavoro e altri impegni, quindi solo inglese.

Spero sia utile a chi è interessato a capire esattamente cosa permette di ottenere questo tool.

Preciso che molto spesso non si utilizza GDB classico, ma delle estensioni, sia di funzionalità che di UI, che lo rendono più facile da usare.

Detto questo esercitarsi sulla versione basic è molto utile e didattico, specialmente la parte di analisi del codice assembly, dei registri, e l’analisi della memoria.

Ricordo quante ore ci ho messo a cercare di costruire una intuizione rispetto ai comandi per leggere la memoria. Tutti quei numeri in esadecimale confondono all’inizio. Poi per fortuna la mente si abitua.

1 Like

Lo aggiungo in coda ai video da vedere, un paio di volte l’ho utilizzato durante un corso in Università ma per tipo 2 mini task.
Di alternative a gdb non ne ho mai sentite e se qualcuno ne conosca condivida pure che sono curioso.
Nota a parte, gdb è estendibile tramite il lisp (scheme).

1 Like

Ci sono ad esempio dei frontend, che prendono le informazioni calcolate da GDB e le mostrano in un modo leggermente più intuitivo, specialmente per programmi più complessi.

Tipo questo, gf, visto da uno stream di Tsoding

Anche Emacs in realtà ha il proprio frontend per GDB (entrambi progetti GNU dopo tutto), però non mi ci sono mai messo ad imparare come funziona e come configurarlo.

1 Like