Kurz erklärt
Das systematische Aufspüren und Beheben von Fehlern im Code — in Java meist mit dem Debugger der IDE (Breakpoints, Schritt-für-Schritt-Ausführung, Variablen-Inspektion).
Genauer
Ein Breakpoint pausiert das Programm an einer bestimmten Zeile, sodass man den aktuellen Zustand aller Variablen einsehen kann, statt blind zu raten. Ergänzend helfen Stacktraces bei Exceptions und gezielte System.out.println-Ausgaben, auch wenn Letzteres bei komplexeren Fehlern schnell an Grenzen stößt.