Forum: Compiler & IDEs IAR - Probleme beim Debuggen


von Tobias (Gast)


Lesenswert?

Hallo zusammen,

wenn ich folgenden C-Code :

#include <io8515.h>

void main (void) {

 int test;
 int dummy;

 dummy = 2;
 test = 1;
 dummy++;
 test++;

  if (test == 2){
    dummy++;
    dummy++;
    test = 200;
    test = test * 2;
  }

  dummy++;
}

in den IAR (AVR) Debugger gebe, so beginnt dieser bei "test = 1;" und
"übergeht" die dummy Zuweisung. Die if Anweisung mag er nicht
ausführen und begibt sich sofort zum Programmende ;o(

Aber was ist am Code falsch ? oder habe ich bei den Einstellungen etwas
falsch gemacht ? Ich arbeite zum erstenmal mit IAR AVR.

von OldBug (Gast)


Lesenswert?

Mach mal beide ints "volatile", der Code scheint mir wegoptimiert zu
werden (weil er keinen Sinn macht?)...

von Tobias (Gast)


Lesenswert?

Jetzt wird die Reihenfolge eingehalten :o)
aber das Fenster "Locals", das den Inhalt von Variablen anzeigt,
enthält für dummy und test immer den Wert "0"...

Aber wie ist das eignetlich, wenn er alles optimiert, dann wäre doch
dummy von vornherein 6 und test = 400 und nicht null.

Wenn ich "test" und "dummy", global vor der main funktion
deklariere,
gehts ! Aber warum ?

mein NC Compiler für M16C "zickt" bei dem Programm nicht so rum.

von Michael (Gast)


Lesenswert?

Verwende an Stelle von 'dummy' den Namen 'schlauy' und setze die
Optimierung von 9 auf 0.

Anderfalls kannst Du komplette Subroutinen schreiben, ohne sie
aufzurufen. Du wirst dafür keinen Code finden.

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.