www.mikrocontroller.net

Forum: Compiler & IDEs not in scope/avrstudio


Autor: fragender (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Optimierung des Compilers abschalten könnte helfen.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Günter R. (galileo14)
Datum:

Bewertung
0 lesenswert
nicht 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??

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: fragender (Gast)
Datum:

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

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Assembler debuggen... viel Spaß.

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.