34 lines
1.1 KiB
Markdown
34 lines
1.1 KiB
Markdown
# Fehlersuche
|
|
|
|
## 1. Nachstellen
|
|
|
|
Finde den kürzesten Weg, den Fehler auszulösen: ein Test, ein Befehl, eine
|
|
Eingabe. Ohne verlässliches Nachstellen gibt es keine verlässliche Behebung.
|
|
|
|
## 2. Eingrenzen
|
|
|
|
- Lies die vollständige Fehlermeldung und den Stacktrace, von unten nach oben.
|
|
- Vergleiche mit einem Zustand, in dem es ging: anderer Commit, andere Eingabe,
|
|
anderer Rechner.
|
|
- Halbiere den Suchraum: Eingabe verkleinern, Schritte weglassen, Ausgaben an
|
|
Zwischenstellen.
|
|
|
|
## 3. Ursache belegen
|
|
|
|
Formuliere eine Vermutung und prüfe sie mit einem Experiment, bevor du etwas
|
|
änderst. Eine Vermutung ist erst die Ursache, wenn sie das beobachtete Verhalten
|
|
vollständig erklärt.
|
|
|
|
## 4. Beheben
|
|
|
|
- Behebe die Ursache, nicht das Symptom.
|
|
- Schreibe, wo möglich, zuerst einen Test, der den Fehler zeigt, und mache ihn
|
|
dann grün.
|
|
- Prüfe, ob derselbe Fehler an anderen Stellen steckt.
|
|
|
|
## Nicht
|
|
|
|
- Mehrere Dinge auf einmal ändern.
|
|
- Fehler unterdrücken, Tests abschalten oder Wartezeiten einbauen, ohne die
|
|
Ursache zu kennen.
|
|
- Nach dem zweiten erfolglosen Versuch weiterraten: dann zurück zu Schritt 2.
|