IAR - Probleme beim Debuggen

Gast #178767
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.
Gast #178769
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.
Gast #178770
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren