AVR Studio Debug "The symbol could not be found"

Gast #620566
Lesenswert?
• ▲
▼
Hallo!

Kann mir jemand helfen. Ich wollte das On-Chip-Debugging mit dem JTAG 
ICE mkII testen. Leider scheitert das schon bei folgendem 
Minimalprogramm
1
int main() {
2
   uint8_t i = 0;
3

4
   while (1) {
5
      i++;
6
   }
7
}

Ich wollte einen Data-Breakpoint auf 'i' setzen bzw. 'i' als 
Watch-Variable verwenden. Bei ersterem bekomme ich im Fenster 'Add data 
breakpoint' die Meldung 'The symbol 'i' could not be found'. Wenn ich 
das mit der Watch-Variable versuche bekomme ich die Meldung 'Location 
not valid'.

Mache ich einen systematischen Fehler oder warum funktioniert rein 
garnichts?

Danke für die Hilfe,
Franz.
Gast #620578
Lesenswert?
• ▲
▼
Hm...

Wenn ich das so anschaue: das Porgramm macht ja auch nichts. Kein 
Schwein interessiert es, wie gross "i" gerade ist. Soll heissen:
Vielleicht hast du alles wegoptimiert?!
Wäre jedenfalls meine erste Vermutung.
Entweder Optimierung aus oder
 PORTA = i++;
statt
 i++;
Dann natürlich mit #include <avr/io.h>
Gast #620657
Lesenswert?
• ▲
▼
Natürlich - ich hab die Rechnung ohne den Compiler gemacht.
'i' wird tatsächlich wegoptimiert. Das lässt sich z.B. durch ein 'PORTx 
= i;' in der Schleife vermeiden.
Jetzt kann ich 'i' auch bequem als Watch-Variable markieren und dessen 
aktuellen Wert beobachten.

Danke für die Tips,
Gruß Franz.
Gast #620686
Lesenswert?
• ▲
▼
Ein kleines Problem gibt es noch bei folgendem Szenario:
1
void bla() {
2
  uint8_t x = 0;
3

4
  PORTA = x;
5
  x++;
6
  PORTA = x;
7
  x++;
8
  PORTA = x;
9
}
10

11

12
int main() {
13
  DDRA |= 0xFF;
14

15
  bla();
16
}

Wenn ich jetzt hier versuche in der Funktion 'bla()' den Inhalt von 'x' 
als Watch-Variable zu kontrollieren, dann bekomme ich die Meldung 
'Location not valid'. Warum funktioniert das nicht?

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.