Als Debuggen bezeichnet man in der Informatik den Vorgang, in einem Computerprogramm Fehler oder unerwartetes Verhalten zu suchen und zu beheben. Die Suche von Programmfehlern (sogenannten Bugs) ist eine der wichtigsten und anspruchsvollsten Aufgaben der Softwareentwicklung und nimmt einen großen Teil der Entwicklungszeit in Anspruch. Ein guter Programmierer muss daher auch das Debuggen beherrschen und umgekehrt. Nicht jeder gute Programmierer ist aber auch ein guter Debugger.Die möglichen Ansätze, um Fehler zu finden, sind vielschichtig und hängen vom vorhandenen Problem ab. Es kommen Werkzeuge für interaktives Debuggen (sogenannte Debugger) zum Einsatz, es werden Datenflussdiagramme analysiert, Unittests geschrieben, Speicherdumps analysiert und mittels Profilern die Laufzeit der Programme optimiert.