Forum: Compiler & IDEs not in scope/avrstudio


von fragender (Gast)


Lesenswert?

hallo,
ich versuche mich gerade an dem simulationstool von avr studio, neueste 
version  und kann leider nur variablen im watch-window sehen die als 
volatile deklariert sind, die anderen nicht... wisst ihr woran das 
liegt?
gruß
ein fragender

von holger (Gast)


Lesenswert?

Optimierung des Compilers abschalten könnte helfen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

holger wrote:
> Optimierung des Compilers abschalten könnte helfen.

...außer dass man dann etwas komplett anderes debuggt.  Da hat man gute
Chancen, die Chose später mit Optimierung nochmal zu debuggen.

von Günter R. (galileo14)


Lesenswert?

Jörg Wunsch wrote:
>
> ...außer dass man dann etwas komplett anderes debuggt.  Da hat man gute
> Chancen, die Chose später mit Optimierung nochmal zu debuggen.

Das habe ich auch schon erlebt. Aber warum eigentlich? Die Optimierung 
darf doch die Funktionalität nicht verändern, oder doch??

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Die Optimierung verändert nicht die Funktionalität, aber das Verhalten 
bei nicht-korrektem Quellcode kann unterschiedlich ausfallen bzw. sich 
Fehler garnicht äussern (zB fehlendes volatile).

Entsprechend sieht es dann so aus, als wäre der Compiler der Bösewicht, 
wenn nach eingeschalteter Optimierung nix mehr geht.


Beitrag "Re: _delay_ms() falsches timing"

von fragender (Gast)


Lesenswert?

D.h. es gibt nur den WEg über das Abschalten der Optimierung? War das 
frühe rnicht anders bzw. ging auch so?

von Sven P. (Gast)


Lesenswert?

Assembler debuggen... viel Spaß.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

fragender wrote:
> D.h. es gibt nur den WEg über das Abschalten der Optimierung? War das
> frühe rnicht anders bzw. ging auch so?

Wenn der Compiler eine Variable wegoptimiert, ist sie nun mal weg...

Wenn es früher anders war, hast du eine andere GCC-Version ausgespielt.

Versuch's mal mit -O1, was war mal komzipiert um bei Optimierung 
einigermassen debuggen zu können. Übrigens schliessen sich bei manch 
anderen Compilern Optimierung und Debugging komplett aus, also muss 
man froh sein, daß das bei GCC überhaupt vereinbar ist.

Wenn die Quelle nicht zu krass ist, geht auch ein Debuggen im mixed mode 
C+asm. Man sieht ja, ob der asm das macht, das man haben will.

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
Noch kein Account? Hier anmelden.