Peter Bucher - Mein Experiment, meine Spielereien, meine Welt...   ·   Stefan Falz   ·   Jürgen Gutsch   ·   Golo Roden   ·   ASP.NET Zone   ·   Microsoft ASP.NET
Willkommen bei ASP.NET Zone. Anmelden | Registrieren | Hilfe

Hartnäckige Fehlern mit minimalem Nachbau auf die Schliche kommen

Es gibt sie überall und immer wieder: Hartnäckige Fehler, die einfach nicht zu finden sind.
Wer schon seit geraumer Zeit vor einem Fehler sitzt und wirklich schon alles versucht hat, muss sich eine Alternative überlegen.

Die Lösung ist häufig ein minimales Testprojekt zu erstellen und dort alles nachzubauen, um das Problem zu reproduzieren.
Das minimale Testprojekt kann eine Kopie es Originals sein, das einfach abgespeckt wird, oder eine Nachstellung in einem neuen Projekt.

So viel Aufwand ist das meistens nicht und häufig werden "doofe" Fehler während dem Erstellen gefunden.

Kann der Fehler reproduziert werden, wird weiter abgespeckt, bis es funktioniert.
Danach muss der Unterschied zwischen dem Original und dem Testprojekt gefunden werden.
Es kann auch wieder Code vom originalen Projekt eingefügt werden, um so den Ort des Fehlers einzugrenzen.

In den meisten Fällen kann so ein Fehler aufgespürt werden.

Eine Alternative dazu ist das kommentieren von Code, bis es funktioniert.
Aber ein Neubau oder Abbau von Code wie oben beschrieben ist der übersichtlichere Weg, finde ich.

Veröffentlicht Dienstag, 13. November 2012 20:25 von Peter Bucher

Kommentare

# re: Hartnäckige Fehlern mit minimalem Nachbau auf die Schliche kommen

Hi Peter,

letztendlich entfernst du auf diese Weise solange Code aus der bestehenden Lösung, bis das fehlerhafte Element darunter war, der Fehler daraufhin verschwindet, und du die ihn damit einkreist/aufspürst.

Der Nachteil an diesem Ansatz ist, daß du bis auf den Bugfix nichts von dem ganzen Aufwand der Fehlersuche wiederverwenden kannst. Sprich beim nächsten größeren Problem mußt du das Spiel wiederholen.

Wenn man die Fehlersuche entgegengesetzt betreibt, sprich den Code beläßt, aber die Funktionen um das Fehlverhalten drumherum mit Unittests überzieht, um so die madige aufzuspüren, ist der Aufwand ähnlich, aber mit jedem Bugfix sinkt die Codefläche, wo sich ein Bug verstecken könnte.

Daß auch UnitTests in erster Linie doofe Fehler aufzeigen - klar ;o)

beste Grüße

Micke

Mittwoch, 14. November 2012 16:03 by Micke
Anonyme Kommentare sind nicht zugelassen