Auf kleineren/älteren µc inclusive AVR hat man schon gar nicht die Möglichkeit zu debuggen, wobei ich hier "debug" im eigentlichen Sinn verwenden möchte, also nicht ausgaben über UART, auf Console, via Status-LED etc verstehen will.Zitat von bluelight_electronic
Jo, davon kann ich ein Lied singen. Ich mache ja Compiler-Entwicklung und bekomme momentan meinen A... versohlt *g*. Die Kosten für einen Fehler werden schnell 8- oder 9-stellig (Rückruf, Haftung, etc.)Zitat von bluelight_electronic
Der Punkt ist, daß dir ein Debugger einfach nicht hilft, bessere Software zu machen. Ein Debugger kann dir helfen, einen Fehler zu finden, wenn du weisst, daß ein Fehler in der Software drin ist!
Einen Compiler zu debuggen und zu hoffen, evtl auf einen Fehler zu stossen, ist absolut aussichtslos. Du blickst eben nicht mehr was abgeht.
Die übelsten Fehler sind die, wenn der Compiler klaglos durchläuft, 10000 oder 100000 Testprogramme (oder wieviel auch immer) sowohl im Compile-Streß als auch in den von ihm erzeugten Executables korrekt absolviert. Und dann trotzdem nen Fehler hat. Mit einem Debugger den Fehler schnell zu finden bringt dir absolut *nix*, wenn die damit erzeugten Programme in zigtausenden von Steuergeräten laufen und überall unterwegs sind...
Mit welcher Eingabe (zu übersetzender Quelle) würdest du denn anfangen von den 100000 Testfällen...?
Zudem, wenn du einen Denkfehler hast und deshalb etwas nicht geht, machst du beim Debuggen der entsprechenden Sequenz vermutlich den gleichen Fehler und siehst es nicht mal.
Vielleicht deshalb arbeite ich fast immer ohne Debugger (für AVR sowieso). Am schnellsten hat man Fehler gefunden, die man erst garnicht macht...
Für AVR fällt es mir vielleicht deshalb so leicht, weil die Programme immer sehr einfach sind und linear codiert wird (auch mit Interrupts würde ich das als quasi-linear bezeichnen).
Überrascht und erstaunt bin immer wieder, über den Code den man im Forum manchmal zu sehen bekommt, wo man bereits beim ersten Blick sieht, daß es garnicht laufen *kann* und der Autor sich nicht im mindesten überlegt zu haben scheint, was der Code, den er ha hingeschrieben hat, überhaupt macht.
Lesezeichen