Hallo, mich hat es immer schon genervt das ich beim Simulieren jedesmal bei einem Fehler das Programm von neuem durchsimulieren musste, gerade wenn man mit externen Interrupts arbeiten und immer die Pins aktivieren/deaktivieren muss um einen Interrupt auszulösen. Dann habe ich mit Sprungmarken gearbeitet um durchgetestete Programmteile zu überspringen oder mit Broakponts um an bestimmten Stelle anzuhalten. Das eigentlich Problem war aber, das man bei einem Fehler, trotzdem nochmal das Simulieren neustartet, um wieder an die Fehlerstelle zukommen. Hier wäre es nicht schlecht gewesen wenn man einfach mal einige Schritte im Programm zurück könnte. Nun bin ich aber auf die Idee gekommen einfach den Programmcounter zu manipulieren. Ich merke mir also den Programmcounter an einer Stelle vor dem Fehler und wenn ich am Befehl mit einer unerwünschten Aktion vorbei geschlittert bin, setze ich den Programmcounter an die gemerkte Adresse und der gelbe Pfeil im Simulator geht wieder ein paar Schritte zurück. Könnte das per JTAG auch funktionieren, habe JTAG noch nicht ausprobiert aber da die Sachen immer umfangreicher werden, wäre es schön das ganze in einer richtigen Umgebung testen zu können.
Hallo, und Simulator oder JTAG habe ein so gutes Gedächtnis, daß sie alle Registerwerte, I/O-Werte, Speicherwerte an jedem von Dir gewünschten PC-Stand mal schnell wieder passend setzen? Das bezweifle ich mal... Das müßtest Du dann wohl selbst machen, wenn das Ganze einen Sinn haben soll. So hat es nämlich garkeinen Sinn. Gruß aus Berlin Michael
Wobei die Idee eigentlich so genial ist, dass man so einen 'Verlauf' gleich einbauen müsste, finde ich. Vielleicht auch direkt in GDB oder so.
Hallo, Sven P. schrieb: > Wobei die Idee eigentlich so genial ist, dass man so einen 'Verlauf' > gleich einbauen müsste, finde ich. Vielleicht auch direkt in GDB oder > so. Was letztlich heißen würde, jeden ausgeführten Befehl mit seinen Veränderungen ab Register/Ram/IO/Flags zu protokollieren. Oder eben das Programm jedesmal von vorn laufen zu lassen und nur automatisch die vom User gesetzten externen Änderungen abzuarbeiten. Klappt aber spätestens bei echter Hardware und JTAG nicht mehr. Gruß aus Berlin Michael
Jo klar, aber aufm PC wär sowas machnmal schon hilfreich, finde ich. Ich mein, Speicher hat man im Zweifelsfall genug, selbst wenn mans z.B. nur auf C-Ebene protokolliert. Würde grad bei langwierigen Programmen helfen, wo man nach dem Neustart z.B. immer wieder dieselben Aktionen durcharbeiten müsste (Menüs, Eingaben...). Lässt sich nich immer alles automatisiern...
Du kannst auch einfach rechtklick machen und "set next statement" oder so anklicken. das geht genausogut ;-) ja es geht auch mit JTAG, das ist wie im simulator + besser :-D
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.