www.mikrocontroller.net

Forum: Compiler & IDEs Probleme mit Sprungarray beim debuggen


Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,

ich hab ein kleines Problem mit der Erzeugung von Debuginformationen.

Hier ist zunächst mal mein erstes Testprogramm.
Bei dem Programm handelt es sich um ein einfaches Beispiel zur
Erzeugung von einem Zeiger auf eine Funktion. Die "main" ruft die
Funktion über den Zeiger auf. Wenn ich dieses Programm mit dem .cof
file oder dem .hex file debugge funktioniert alles wie gewohnt.


#include "ATmega128.h"

volatile unsigned char Fkt (volatile unsigned char);


int main (void)
{

wert;
volatile unsigned char ergebnis;

volatile unsigned char (*ptr)(volatile unsigned char) = Fkt;

wert = 4;


while (1)
{

ergebnis = ptr(wert);
}
}



volatile unsigned char Fkt (volatile unsigned char wert)
{

return (wert);
}



Mein zweites Programm ist ähnlich. Jedoch besteht dieses aus 4
Funktionen (+ main) und einem Array aus Zeigern auf diese 4 Funktionen.
Und auch hier ruft die main eine der Funktionen auf. Allerdings diesmal
über das array mit index - <logisch>.

Wenn ich dieses Programm debugge über den .cof file dann springt er
ständig willkürlich hin und her. Debugge ich dagegen den .hex file des
Programms stimmt es wieder. Nur das mir der .hex file eben keine debug
infos gibt.

Liegt das an den Einstellungen des Compilers oder daran dass das AVR
Studio das mit dem Sprung-Array nicht auf die Reihe bekommt?

Gruß

Philipp

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Verwende mal aktuellstes AVRStudio und "dwarf-2" als Debugformat. Dann
einfach das erzeugte .elf im AVRStudio öffnen.

Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi OldBug,

hab mal deinen Vorschlag versucht, aber wenn ich den .elf file öffne
dann zeigt mir das AVRStudio nur nen Eintrag von:

|elf||

an. Erst dachte ich das das .elf file leer ist, aber dem ist nicht so.
Und als Projekt kann man den .elf file nicht öffnen. Ich werds erst mal
mit der aktuellsten Version vom AVRStudio versuchen.

Gruß

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das klingt allerdings nach veraltetem AVRStudio...

Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habs gefunden,

es lag tatsächlich am AvrStudio.
Wenn ich jetzt die Software über den .elf File öffne dann lädt er sich
seine ganzen infos und was er für den code braucht aus den .cof files
richtig aus und das debuggen funktioniert auch mit dem Sprungarray
richtig.

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein, er lädt es eben nicht aus den .cof-Files, sondern aus dem .elf ;)

Autor: Philipp (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder so.

hauptsache es geht jetzt zum glück. ;-)

Gruß

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.