Podstawowym zadaniem debuggera jest sprawowanie kontroli ponad wykonaniem kodu, co umożliwia zlokalizowanie instrukcji odpowiedzialnych w ciągu wadliwe funkcja programu. Współczesne debuggery pozwalają na efektywne infiltracja wartości poszczególnych zmiennych, praktykowanie instrukcji chód po kroku czyli wstrzymywanie działania programu w określonych miejscach. Debugger jest standardowym wyposażeniem większości współczesnych środowisk programistycznych.
Debuggery posiadają również wady – symulacja działania kodu nie jest idealnym odtworzeniem wykonania tego kodu w warunkach normalnych. Wobec tego debuggery mogą nie wykrywać bugów niezależnych bezpośrednio od treści badanego programu.
Lista Debuggerów
- Assembly Language Debugger
- AppPuncher Debugger (wykorzystywany przy debugowaniu aplikacji RIA)
- CA/EZTEST
- CodeView
- DBG — Debuger i Profiler PHP
- dbx
- Data Display Debugger
- Allinea Distributed Debugging Tool
- GNU Debugger
- Parasoft Insure++
- Insight
- Interactive Disassembler (IDA Pro)
- JSwat — debuger Javy (Open Source)
- Nemiver — graficzny debuger C/C++ dla środowiska GNOME
- MacsBug
- OllyDbg
- IBM Rational Purify
- sdb
- SIMON (Batch Interactive test/debug)
- SoftICE
- Turbo Debugger
- WinDbg
- Zeta Debugger
- Valgrind
- Microsoft Visual Studio – wbudowany graficzny debugger, dla wszystkich obsługiwanych języków: C, C++, C++/CLI, Visual Basic, C#. Potrafi podmieniać kod w czasie uruchomienia (edit and continue).