Gibt es Theorien oder Bücher darüber, wie man "allgemein" debuggt? [geschlossen]

12

Ich habe viel Informatik und Ingenieurwissenschaften gelesen und studiert und selten oder nie ein Buch über das Debuggen oder eine Theorie zum Debuggen gesehen (obwohl ich sicherlich einige eigene Debugging-Theorien entwickelt habe).

Gibt es Debugging-Theorien und / oder Bücher? Warum Warum nicht? Ich kann lesen, wie man mit gdb debuggt, und einige der nützlichsten Informationen über die Entwicklung, die ich durch das Lesen der Verwendung von gdb erhalten habe.

Niklas
quelle
1
Was meinst du damit debugging theory? Welche Themen sollten behandelt werden?
SuperM
5
Zwei Papiere Sie (wahrscheinlich) interessant finden: Eine Theorie der Debug - Pläne und Interpretationen & Algorithmic Programmtest
Yannis
Ja, das nennt man Problemlösung: en.wikipedia.org/wiki/Problem_solving
AndreasScheinert
1
@SoboLAN Ich dachte, der Fragesteller wollte die eigentliche Theorie hinter dem Debuggen, und 82/88 ist nicht so alt, die Kernkonzepte sind die gleichen ... Aber ja, nicht, worum es bei der Frage geht.
Yannis
1
Viele Konzepte in der Softwareentwicklung sind heutzutage ziemlich alt und dennoch sehr gut auf die heutige Situation anwendbar. Vergessen wir nicht, das Rad wurde vor Millionen von Jahren entwickelt und dennoch hat keiner von uns ein Problem damit, jeden Tag in unserem Leben auf 2 oder 4 davon zu fahren.
Lol

Antworten:

6

Ich habe die Debug-IT von Pragmatischen Programmierern gelesen . Wie fast alle Bücher von pragmatischen Programmierern ist es ziemlich praktisch, aber nicht so tiefgreifend, aber es hat mir geholfen, neuen Entwicklern beizubringen, wie sie ihre "Debug-Denkweise" einstellen. Es gibt keine schwarze Magie, aber gesunder Menschenverstand und für erfahrene Programmierer sieht fast alles sehr intuitiv aus.

VP.
quelle
6

Es gibt Debugging: Die 9 unabdingbaren Regeln, um selbst schwer zu lösende Software- und Hardwareprobleme zu finden . Ich erinnere mich nicht, dass es schrecklich tief oder überhaupt akademisch war, aber es hat sicherlich einige interessante Einsichten und Geschichten.

Es ist auch sehr nützlich , Debuggen aus der Hardware - Perspektive zu sehen - in der Regel, Debugging - Hardware ist mehr schwieriger als Software - Debugging. Jedes Kapitel des Buches ist durch eine "Kriegsgeschichte" aus der Erfahrung des Autors motiviert; Der Rest des Kapitels geht darauf ein, welche Technik er in diesem speziellen Fall für nützlich hielt. Die Geschichten sind eine schöne Mischung aus Hardware- und Softwareentwicklung.

Ich fand es auf jeden Fall sehr lehrreich, jedes Kapitel mit einer realen Geschichte zu beginnen.

Tikhon Jelvis
quelle
1
+1 Ich habe ein Exemplar dieses Buches und ich muss sagen, es ist wirklich gut geschrieben. Es ist allgemein, dass Sie alles mit den Regeln debuggen können, die der Autor vorschlägt: Softwarefehler, Hardwareprobleme, Probleme mit der Toilette, alles wirklich :)
Jason Evans
1
Dies ist ein großartiges Buch. Eine der besten Erkenntnisse, die ich daraus gezogen habe, war die Idee, nicht nur ein Problem zu beheben, sondern es auch wieder zu beheben, um zu bestätigen, dass das Problem auch ohne das Problem auftritt. Nachdem Sie zehn Dinge versucht haben, um ein Problem zu beheben, wissen Sie am Ende, wenn Sie diesen Schritt weglassen, möglicherweise nicht, welches die eigentliche Lösung war.
Kyralessa
1

Der Saff Squeeze ist eine von Kent Beck beschriebene Technik, die Tests und Refactoring zum Debuggen verwendet:

Hit 'em High, Hit' em Low :

Regressionstests und der Saff Squeeze

Kent Beck, Three Rivers Institute

Zusammenfassung: Um einen Defekt effektiv zu isolieren, beginnen Sie mit einem Test auf Systemebene und führen Sie einen schrittweisen Inline- und Bereinigungstest durch, bis Sie den kleinstmöglichen Test erhalten, der den Defekt nachweist.

Jörg W. Mittag
quelle