debuggen mit AVR-Studio6

Gast #3271724
Lesenswert?
• ▲
▼
Hallo


Ich versuche gerade einen einfachen Code mit Avr-Studio 6 zu debuggen,
aber ich vermisse diesen "gelben Pfeil" wie in AVR-Studio 4.
Kann mir einer sagen wie ich das einstellen muss damit ich den Pfeil 
habe?

hier ist auch der simple code falls ihn jmd sehen will:


#include <avr/io.h>
#include <util/delay.h>


int main(void)
{
  #include <avr/io.h>

  int main(void)
  {
    while(1)
    {
        DDRD = 0xFF;
        PORTD = 0x0F;

    }
  }



}
#3272173
Lesenswert?
• ▲
▼
Du meinst den hier (siehe Bild) (:

Ich glaube du hast die Build-Konfiguration auf "Release" gestellt, dann 
hast du den "gelben Pfeil" im C-Code nur sporadisch (oder auch gar 
nicht?), weil die Compiler-Optimierungen auf "Optimize for size" gesetzt 
sind.

Gehe zu "Build" / "Configuration Manager ..." und wähl bei
"Active solution configuration", "Debug" aus.

Jetzt müsste beim Debuggen schonmal der Pfeil da sein.

Die Compiler-Optimierungen (Standardeinstellung ist "Optimize (-O1)" bei 
Debug), würde ich außerdem beim Debuggen auch komplett Deaktivieren:

Gehe zu "Build" / "Configuration Manager ..." und wähl bei
"Active solution configuration", "Debug" aus (falls nicht schon vorher 
gemacht).

Dann ge zu "Project" / "Properties" / links "Toolchain" / "Optimization" 
/"Optimization Level", "None (-O0)" aus.

Dann mal alles Speichern und neu compilieren.


Wenn der Code noch vom Timing her richtig sein soll, musst duch auch 
noch ein F_CPU im Hz definieren (bevor du delay.h inkludierst), 
ansonsten wird standardmäßig 1Mhz genommen.
Auszug von delay.h:
1
#ifndef F_CPU
2
/* prevent compiler error by supplying a default */
3
# warning "F_CPU not defined for <util/delay.h>"
4
# define F_CPU 1000000UL
5
#endif
Angehängte Dateien:
Moderator Persönliche Seite #3272511
Lesenswert?
• ▲
▼
Fabian K. schrieb:
> Die Compiler-Optimierungen (Standardeinstellung ist "Optimize (-O1)" bei
> Debug), würde ich außerdem beim Debuggen auch komplett Deaktivieren

Ich nicht.  Du debuggst dann einen völlig anderen Code als den, den
du später benutzen willst, und bestimmte Bugs (bspw. ein vergessenes
“volatile”) tauchen dann einfach nicht auf.

Es ist meiner Erfahrung nach sinnvoller, sich an das Debuggen von
optimiertem Code zu gewöhnen, auch wenn es scheinbar willkürlich und
wild hin und her springt.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.