MB Dev .tech
Registrieren Login

Debugging · Tools & Techniken

← Zurück zu Debugging Praxis

Debugging besteht aus Denken (Mindset) und Werkzeugen. Hier lernst du typische Tools und Techniken kennen, die dir helfen, Probleme schneller einzugrenzen – ohne wild herumzuprobieren.

Merke
Das beste Debugging-Tool ist das, das du wirklich benutzt

Ein einfacher „Zwischenstand-Check“ bringt oft mehr als ein komplexes Setup, wenn du ihn konsequent einsetzt.

1) Reproduzierbarkeit (der unterschätzte Turbo)

Bevor du überhaupt Tools nutzt, braucht Debugging eine Grundlage: Du solltest den Fehler möglichst reproduzieren können.

  • Was genau muss man tun, damit der Fehler passiert?
  • Passiert er immer oder nur manchmal?
  • Welche Eingaben / Daten sind beteiligt?
Tipp
Fehler „klein machen“

Versuche, den Fehler in einem möglichst kleinen Beispiel nachzustellen. Je kleiner das Beispiel, desto schneller findest du die Ursache.

2) Werte ansehen: „Dumps“ (einfach, aber effektiv)

Oft ist das Problem nicht der Code, sondern die Daten, die dort ankommen. Deshalb ist eine der wichtigsten Techniken: Werte prüfen.

Du kannst z.B. beim Debugging kurz ausgeben:

Beispiel: Werte prüfen

// Beispiel-Daten (fiktiv)
$price = "19.99";
$qty   = 2;

// Debug-Ausgaben (nur zum Prüfen)
var_dump($price);
var_dump($qty);
Achtung
Debug-Ausgaben wieder entfernen

Debug-Ausgaben sind fürs Finden da – nicht fürs „Live lassen“. Sonst erzeugen sie Chaos, falsche Ausgaben oder leaken Informationen.

3) Logging (wenn du Ablauf-Spuren brauchst)

„Dumps“ sind gut für den Moment. Logging ist besser, wenn du Abläufe nachvollziehen willst oder wenn ein Fehler nur selten auftritt.

Beispiel: Du willst wissen, ob ein bestimmter Schritt überhaupt erreicht wird:

Beispiel: Log-Nachrichten

// Pseudocode-Log (Konzept)
"Start: validate input"
"OK: input valid"
"Start: save to database"
"ERROR: database timeout"
Merke
Logs zeigen dir den Weg, nicht nur den Fehler

Wenn du wichtige Schritte loggst, erkennst du sofort, an welcher Stelle ein Ablauf „abbricht“.

4) Breakpoints: anhalten und Schritt für Schritt laufen

Ein Debugger (z.B. in einer IDE) kann den Code an einer Stelle anhalten. Das nennt man einen Breakpoint. Dann kannst du Variablen prüfen und Zeile für Zeile weitergehen.

Das ist besonders hilfreich, wenn:

  • viele Bedingungen im Code sind
  • du nicht weißt, welcher Pfad genommen wird
  • du sehen willst, wie sich Werte verändern
Tipp
Breakpoints sind „langsamer“, aber sehr präzise

Wenn du mit Logs nicht weiterkommst, ist „anhalten und schauen“ oft der schnellste Weg.

5) „Binary Search Debugging“ (Fehler schnell eingrenzen)

Diese Technik klingt kompliziert, ist aber simpel: Du suchst nicht Zeile für Zeile, sondern halbierst den Bereich immer wieder.

Beispiel: Du hast einen Ablauf mit 10 Schritten und weißt nicht, wo er falsch wird. Dann prüfst du zuerst Schritt 5:

  • Wenn Schritt 5 ok ist → Fehler liegt in Schritt 6–10
  • Wenn Schritt 5 schon falsch ist → Fehler liegt in Schritt 1–5
Merke
Halbieren spart Zeit

Statt 10 Stellen zu prüfen, brauchst du oft nur 3–4 gezielte Checks.

Kleine Übung

Aufgabe anzeigen

Du hast einen Fehler, der nur manchmal auftritt. Was ist sinnvoller: nur „Dumps“ im Browser oder Logging?

Lösung einblenden
Lösung
Logging ist meist besser

Wenn ein Fehler selten ist, möchtest du Spuren haben, die auch dann aufgezeichnet werden, wenn du nicht gerade hinschaust. Logs helfen dir, den Ablauf im Nachhinein zu rekonstruieren.