2011-01-28 23 views
5

La mia semplice comprensione è OllyDbg è un debugger in modalità utente, che è possibile utilizzare per eseguire il debug di app "normali". WinDbg è un debugger in modalità kernel, che è possibile utilizzare per eseguire il debug di se stesso.Quali sono le differenze tra OllyDbg e WinDbg?

È giusto?

risposta

6

WinDbg è un debugger in modalità kernel sviluppato da Microsoft che può essere utilizzato per eseguire il debug del sistema operativo stesso su cui è in esecuzione. Tecnicamente, significa che può eseguire il debug del codice del kernel che è in esecuzione su Ring 0.

OllyDbg è un debugger in modalità utente che è in grado di eseguire il debug solo per gli eseguibili in modalità utente come Exe.

Nota che Windbg è un potente debugger che comprende anche la funzionalità di Ollydbg. Tuttavia, è un debugger a riga di comando che i principianti trovano difficile affrontare all'inizio. Ollydbg è un debugger della GUI molto simile ai debugger di Visual Studio.

4

WinDbg è un debugger della GUI che può essere utilizzato per eseguire il debug di entrambi i programmi in modalità kernel e usermode. Include la funzionalità dei debugger della riga di comando, kd (kernel) e ntsd (utente). Windbg può essere utilizzato per il debug live dei processi locali di usermode e il debug remoto del kernel e usermode. Può anche eseguire il debug di crashdumps dopo il fatto.

+2

WinDbg è solo "GUI" in quanto non è un processo di console, utilizza Windows e ha un menu. Tuttavia, è in linea di massima un debugger comandato da comandi che stampa il testo - che è una distinzione importante, specialmente per i principianti. Non che lo renda meno potente, solo più difficile da imparare. – enverpex