- LiFePO4 Speicher Test         
Ergebnis 1 bis 3 von 3

Thema: "Optimization" macht debuggen schwer

  1. #1
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    21.05.2008
    Ort
    Oststeinbek
    Alter
    34
    Beiträge
    607

    "Optimization" macht debuggen schwer

    Anzeige

    E-Bike
    Hallo Leute,

    geht es euch auch so, dass die Optimierung (vom Compiler) das Debuggen schwer macht?
    Ich arbeite gerade an einem relativ großen Projekt (für AVR) und versuche einen bestimmten Teil zu debuggen, was mir aber erst richtig gelingt, wenn ich die Optimierung ausschalte.
    Wenn ich das nämlich nicht tue, springt der Debugger z.T. wild von Zeile zu Zeile, wo er eig. nichts zu suchen hat.

    Compiliere mit GCC, debugge mit AVRStudio 4

    Gruß, Yaro

  2. #2
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Schwierigkeit ist bekannt. Da kann man nicht viel anders machen, als beim Debuggen ohne Optimierung arbeiten. Wenn man nicht global ohne optimierung arbeiten will oder kann (z.B. wegen delay.h), kann man den optimierer im interessanten Teil durch einstreuen künstlichen Hindernissen ausbremsen, damit man wenigstens keine große Umordnung des Codes bekommt.

    So ein "Hinderniss" für den Optimierer sollte ein:
    asm volatile (";");
    ausreichen, bin mir da aber nicht mehr ganz sicher.

    Sonst hilft es auch wenn man fürs debug ein paar variablen Volatile Kennzeichnet. Das stört den Optimierer auch.

    Wenn der Optimierer doll zuschlägt hift es machmal nur sich zum debug den ASM code anzusehen, oder wenigstens die Mischform mit dem C Code.

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    20.08.2008
    Ort
    Karlsruhe
    Alter
    36
    Beiträge
    1.225
    Yepp, durch die Optimierung können Codezeilen ganz wegfallen, zusammengelegt, umsortiert oder aufgesplittet werden.
    Dementsprechend wird das Debuggen etwas anspruchsvoller ...

    mfG
    Markus

Berechtigungen

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

Labornetzteil AliExpress