Hallo ich habe folgendes Problem. Ich versuche ein Programm zu debuggen. Doch beim Step(F11) geht der debugger nicht weiter und bleibt in der ersten Zeile, der Program Counter bleibt bei 0x0001C und zählt nicht weiter. das programm zum testen ist #include <avr/io.h> int main (void) { int i=1; for (;;) { i=2; } return 0; }
Ist vermutlich nicht die schuld des Debuggers, sondern der Compiler ist einfach zu schlau: Auf "i" wird nur schreibend zugegriffen, der Wert wird nie gelesen. Warum sollte sich der Computer dann die Mühe machen, extra Speicher für "i" bereitzuhalten? Also, Lösungen wären z.B.: - Mach i "volatile" - Verwende "i" irgendwo lesend - Schalte die Compileroptimierungen alle aus. - Verwende ein "realeres" Beispiel zum Debugger-Testen
Danke Ernst, du hast recht. Ich habe PORTB=i eingefügt und die Compileroptimierung ausgeschlalten und nun läuft es. Danke nochmals. lg Christian
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.