Programm hängt bei Release - funktioniert bei Debug

Gast #3883284
Lesenswert?

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
#3883393
Lesenswert?

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.
Gast #3883519
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren