- LiFePO4 Speicher Test         
Ergebnis 1 bis 8 von 8

Thema: Verstänisfrage AVR Studio

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    09.02.2005
    Ort
    München
    Alter
    40
    Beiträge
    389
    Ja, mit der Optimierung gehts, aber das ganze Projekt unoptimiert zu haben nur um die Variable zu sehen ist auch nicht das wahre .
    Die einfachere Lösung das die Variable angezeigt wird ist die Variable "volatil" zu deklarieren dann legt er sie auf den S-Ram und der Debugger kann sie anzeigen. Das ist aber alles nur rumdoktern und keine richtige Lösung.


    Gruß Matthias

  2. #2
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2009
    Beiträge
    5
    Hi

    Mir ging es nur darum, um Programmierfehler aufzuspüren.
    Wenns dann richtig rennt kann ich es wieder umstellen !

    Danke

    Rudolf

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.802
    > Warum wird die Zeile "b = b + a;" nicht abgearbeitet ?

    Sie wird abgearbeitet, d.h. der Compiler erzeugt Code, der exakt der C-Spezifikation von "b = b + a" entspricht! Wenn er zB nachweisen kann, daß a = 0 ist und weder a noch b volatile sind, braucht er dafür überhaupt keinen Code zu erzeugen. Eine Addition ist auch unnötig, wenn b vor der Addition 0 ist oder b nach der Addition nicht verwendet wird.

    Das Problem in deinem Fall ist aber nicht der erzeugte ausführbare Code, sondern die erzeugte Debug-Information bzw. deren Auswertung.

    Zeitgemäße Debugger beziehen Informationen über den Code aus der Debug-Info, nicht etwa aus den vorliegenden Maschineninstruktionen. In letzerem sind nämlich keine Variablennamen, Typen, Typedefs, Quellbezüge, etc. mehr enthalten.

    Ergo: Wenn diese Zeile oder Variablen nicht angezeigt werden, dann hast du:
    • Ein altes bzw. unzureichendes Debug-Format ausgewählt. Um die Anzeige optimierten Codes zu unterstützen, sollte mindestens DWARF-3, besser noch DWARF-4, verwendet werden. Die entsprechende GCC-Optionen zur Erzeugung dieser Debug-Formate lauten -gdwarf-3 bzw. -gdwarf-4
    • Selbstredend muss der Debugger mit den Debug-Infos zurecht kommen. Wenn irgendwas hakt, sind die Tools, also Compiler und/oder Debugger, veraltet.
    Und nochwas: Beim der Fehlersuche sollte immer der Code untersucht werden, der schlussendlich auch zum Einsatz kommt!

    Ansonsten kann es schnell passieren, daß man einem Phantom hinterher jagt und es nach Anschalten der Optimierung plötzlich "seltsame, unerklärliche Effekte" gibt, die dann als "Compilerfehler" verbucht werden, in 99.9% der Fälle jedoch Anwendungsfehler bzw. Missachten der C-Spezifikation etc. sind.

    Also: Den richtigen Code debuggen, nicht irgendein Mächen-Code.
    Geändert von SprinterSB (25.04.2012 um 00:56 Uhr)
    Disclaimer: none. Sue me.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    20.08.2009
    Beiträge
    5
    Danke

    Werde versuchen mich danach zu richten

    Rudolf
    Geändert von Rudolf_H (25.04.2012 um 21:56 Uhr)

Ähnliche Themen

  1. RP6 und AVR-Studio?
    Von danimath im Forum Robby RP6
    Antworten: 2
    Letzter Beitrag: 23.10.2011, 17:56
  2. AVR-Studio.
    Von JeyBee im Forum AVR Hardwarethemen
    Antworten: 15
    Letzter Beitrag: 06.09.2007, 08:20
  3. C++ mit AVR-Studio
    Von p_mork im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 13.03.2007, 16:02
  4. Bug im AVR Studio?
    Von gulliver im Forum Assembler-Programmierung
    Antworten: 5
    Letzter Beitrag: 01.03.2007, 09:49
  5. AVR Studio 4
    Von Norki im Forum Asuro
    Antworten: 1
    Letzter Beitrag: 18.09.2006, 17:30

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen