Hallo, ich programmiere mit CrossWorks. Ich muss zum Debuggen eine Debugvariante compilieren und für die normale Version, ohne Debugger, eine Releaseversion. Mein Problem ist, das das Programm im Debugmodus läuft und sich in der Releaseversion nach wenigen Sekunden aufhängt. Leider kann ich dann nicht sehen wo. Kennt jemand das Problem und wie gehe ich am Besten vor die Ursache zu finden? Gibt es Compiler-Einstellungen die ich kontrollieren sollte? Mein Ziel wäre es, das auch in der Debugversion das Programm hängen beleibt. Dann kann ich die Ursache besser finden. Martin
Das habe ich schon öfters gehört ("... mal sehen, ob die Release-Version
auch läuft..."), konnte es aber nie nachvollziehen (ja, bei mir lief das
Release bisher immer).
Wahrscheinlich hängt das mit der Optimierung zusammen.
- Wenn du für das Release die gleiche Optimierung verwendest, dann
sollte das Programm laufen. Das ist zwar keine Lösung aber immerhin ein
Workaround. Oder einfach die Debugversion auch als Release flashen.
- Auch schon erlebt: Der Debugger bzw. die Debuggverbindung deaktiviert
den Watchdog. Sobald man den Stecker zieht, zieht der Watchdog den Reset
:-)
- Alle Warnings aktivieren, stärkste Stufe! Alle Warnings beheben. Läuft
das Release?
- Zum Debuggen im Release könntest du UART-Ausgaben verwenden (etwas
aufwändiger, aber komfortabel), oder freie Ausgangspins des µC (weniger
Möglichkeiten einen Fehler mitzuteilen), oder schon vorandene LEDs.
Martin schrieb: > Leider kann ich dann > nicht sehen wo. warum nicht? Auch einen Release code kann man Debugger. Aber meist nur auf ASM ebene. Aber zum Rausbkommen wo es hängt reicht das meist.
Hallo, Danke für Eure Tipps. Mit der Optimierung hängt es nicht zusammen. Das habe ich schon getestet. Ich taste mich gerade mit PIN-Ausgaben und nem Scope an die Sache. Wie kann man den mit der Releaseversion unter CrossWorks Debuggen? Martin
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.