Windbg
# Windbg

Windbg è il debugger kernel dei sistemi operativi Microsoft Windows di classe NT (NT4.0, 2000 ecc.).

Distribuito per la prima volta nel 1996 come parte del sistema di sviluppo per driver (Driver Development Kit, DDK) di NT 4.0, non è mai stato distribuito come prodotto ma solo come programma gratuito senza supporto. Le prime versioni, con data antecedente al 2000, erano praticamente inutilizzabili a causa degli errori del programma che costringevano continuamente a ricominciare il lavoro di debug da zero oppure, addirittura, di fare il reset della macchina. Con la distribuzione del DDK per Windows 2000 è comparsa la prima versione sufficientemente stabile.

Windbg si caratterizza per il collegamento, con un protocollo proprietario, con il debugger integrato nel kernel dei sistemi NT. Tale collegamento avviene tramite porta seriale o, nelle versioni da Windows 2000 in poi, tramite porta IEEE 1394 (Firewire). È tuttavia possibile fare il debugging di una macchina tramite porta USB acquistando uno specifico kit di debugging. Sono quindi necessarie due macchine con sistema operativo simile, una sottoposta a debug (che può anche essere virtualizzata) sulla quale può essere eseguito il modulo da verificare, e l'altra su cui eseguire Windbg, con modalità simili ai debugger per mainframe.

Con windbg è possibile verificare tutti i tipi di moduli del sistema operativo compresi i driver che sono eseguiti in modalità kernel, ovvero senza limitazioni sull'uso di istruzioni privilegiate (ring 0 del processore).

