Bewertung:

Das Buch wurde für seinen aufschlussreichen Ansatz zur Fehlersuche gelobt und gilt als unschätzbare Ressource für professionelle Programmierer. Es leidet jedoch unter mehreren redaktionellen Fehlern, die das Leseerlebnis beeinträchtigen.
Vorteile:Bietet hervorragende Einblicke und Ansätze zur Fehlersuche; wird als unschätzbares Hilfsmittel für Programmierer angesehen.
Nachteile:Erhebliche redaktionelle Fehler wie falsch platzierte Wörter und Absätze; die Überarbeitung könnte verbessert werden.
(basierend auf 4 Leserbewertungen)
Why Programs Fail: A Guide to Systematic Debugging
Why Programs Fail: A Guide to Systematic Debugging ist der Beweis dafür, dass sich das Debugging von einer schwarzen Kunst zu einer systematischen Disziplin entwickelt hat. Es entmystifiziert einen der schwierigsten Aspekte der Softwareprogrammierung und zeigt deutlich, wie man die Ursachen von Softwarefehlern herausfinden und sie mit minimalem Aufwand beheben kann.
Die vollständig aktualisierte zweite Auflage enthält über 100 Seiten neues Material, darunter neue Kapitel über die Überprüfung von Code, die Vorhersage von Fehlern und die Vermeidung von Fehlern. Modernste Tools wie FindBUGS und AGITAR werden erklärt, Techniken aus integrierten Umgebungen wie Jazz.net werden hervorgehoben und völlig neue Demos mit ESC/Java und Spec#, Eclipse und Mozilla sind enthalten.
Dieser vollständige und pragmatische Überblick über das Debugging wurde von Andreas Zeller verfasst, dem talentierten Forscher, der den GNU Data Display Debugger (DDD) entwickelt hat, ein Werkzeug, das von über 250.000 Fachleuten verwendet wird, um die Datenstrukturen von Programmen zu visualisieren, während sie laufen. Im Gegensatz zu anderen Büchern über Debugging ist Zellers Text produktunabhängig und für alle Programmiersprachen und Kenntnisstufen geeignet.
Das Buch erläutert bewährte Praktiken, die von der systematischen Verfolgung von Fehlerberichten über die Beobachtung von Symptomen und die Reproduktion von Fehlern bis hin zur Behebung von Mängeln reichen. Es deckt ein breites Spektrum von Werkzeugen und Techniken ab, von der praktischen Beobachtung bis zur vollautomatischen Diagnose, und erforscht auch die innovativen Techniken des Autors zur Isolierung minimaler Eingaben, um einen Fehler zu reproduzieren, und zur Verfolgung von Ursache und Wirkung durch ein Programm. Es enthält sogar Anleitungen zur Erstellung automatisierter Debugging-Tools.
Der Text enthält Übungen und umfangreiche Verweise für weitere Studien, und eine begleitende Website mit Quellcode für alle Beispiele und zusätzlichen Debugging-Ressourcen ist verfügbar.