hallo! Studio 4.11 / ATMEGA 64 und sicherlich auch andere Derivate Wenn man Einzelschritte abfahren möchte (mit "Step over" oder "Step into") und es sind Interupts anhängig, so wird man stets in die Interruptroutine hineingezwungen, und man hat Mühe, wieder an die alte Stelle im Hauptprogramm zurückzufinden. Hat jemand einen Tip, wie man dem Studio dieses abgewöhnen kann? Gruß Martin
Hallo Martin, deaktiviere doch im SREG das I-Register. Somit sollte kein Einsprung mehr in die Int-Routinen erfolgen Gruß Boris
Danke für den Tip - eigentlich naheliegend! Funktioniert erstmal prima und ist auch oftmals ausreichend. Das Dumme ist nur, dass man damit die die Interrupt-Ausführung unterbindet. Die Krönung wäre ein Auführen der Interrupts und trotzdem ein Single Step auf die folgende Quelltextzeile. Aber das dürfte wohl nicht möglich sein?
Probiere es doch mal mit der Option "Run to cursor". Platziere den Cursor dahin, wo du debuggen willst und starte die Option. Da angelangt stehen natürlich wieder Interrupts an und gehe nicht im Single step weiter. sondern platziere den Cursor strategisch günstig auf die nächste zu untersuchende Anweisung oder bedingung. MW
hmmm.. für eine sequentielle Liste kein Problem. aber oft steht man vor einer switch case anweisung, die viele verzweigungen hat und obendrein noch im kopf einen funktionsaufruf enthält. switch( funktion() ) { case 5: ..... break; case 7: ..... break; case 9: ..... break; case 3: ..... break; case 1: ..... break; default: ....break; } Dummerweise kann man aber nur 2 oder 3 breakpoints setzen. d.h. man kann nur hoffen, dass man die Verzweigung vorhersagen kann....
Letzteres löst du, in dem du die Optimierung im Makefile auf 0 setzt. Mit freundlichem Gruß Frank
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.