Debugging
Fehlerbereinigung oder Debuggen (Aussprache: diebaggen) bezeichnet in der Informatik das Auffinden, Diagnostizieren und Eliminieren von Fehlern in Hardware und vor allem von Programmfehlern in Software. Bei der Entwicklung von Computerprogrammen ist die Fehlerbereinigung ein wichtiger Schritt zur Erlangung und Verbesserung der Softwarequalität.
Der Begriff Debuggen stammt vom Anglizismus Bug (für Programmfehler), dessen Herkunft hier erläutert wird: Das Wort Bug.
Ein Werkzeug zum Debuggen von Software nennt sich Debugger. Der Debugger ermöglicht in der Regel eine Ablaufverfolgung des zu untersuchenden Programmes in einzelnen Schritten oder zwischen definierten Haltepunkten. Ein Debugger ist oft Bestandteil einer Programm-Entwicklungsumgebung (auch integrierte Entwicklungsumgebung (bzw. IDE) genannt).
Siehe auch: Programmfehler.
Zur Fehlersuche verwendete Werkzeuge
- Hardware:
- JTAG
- Logic-Analyzer
- ICE - In-Circuit-Emulator
- Software (Debugger):
- debug - ein DOS-Tool
- gdb - der GNU Debugger, ein Unix-Tool
- ddd - ein graphisches Frontend zum gdb
- ltrace - zeigt dynamische Bibliotheksaufrufe an
- strace (Linux), truss (Solaris) - zeigt Systemaufrufe an
- valgrind - zum debuggen und profilen von x86-Linux Programmen
- SoftICE - Leistungsfähiger Low-Level Debugger für x86 Systeme
- IDA - sehr guter Disassembler für viele Rechner-Architekturen. Enthält seit neuestem auch einen Debugger
- OllyDb - ein weiterer guter Debugger mit schöner GUI. Die Grundfunktionen sind einfach zu bedienen.
- Diverse Source-Level-Debugger, in der Regel Teil einer Integrierten Entwicklungsumgebung.