Forum: Compiler & IDEs Probleme mit Sprungarray beim debuggen


von Philipp (Gast)


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

von OldBug (Gast)


Lesenswert?

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

von Philipp (Gast)


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ß

von OldBug (Gast)


Lesenswert?

Das klingt allerdings nach veraltetem AVRStudio...

von Philipp (Gast)


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.

von OldBug (Gast)


Lesenswert?

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

von Philipp (Gast)


Lesenswert?

oder so.

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

Gruß

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.