Forum: Mikrocontroller und Digitale Elektronik ELF Info (Debug-Information) nachträglich in elf File hinzufügen


von achso (Gast)


Lesenswert?

Hallo, ich würde gerne nachträgliche Debug-Inforamtationen zu einer elf 
File hinzufügen.
Ist das generell möglich?? Was muss ich dabei beachten?? 
Vorgehensweise??
Vielen Dank......

von achso (Gast)


Lesenswert?

Die elf File wurde mittels IAR Embedded Workbench IDE erstellt und 
beinhaltet leider keine Debug-Informationen.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Oh Gott ist das eine neverending Story? Das Problem hatten wir so 
ähnlich mit j0hannes:

Er wollte einen vorhandenen C-Quellcode für das Target MSP430 mit dem 
IAR Compiler übersetzen und das Kompilat anschliessend mit dem GNU 
Debugger und einer grafischen Oberfläche debuggen 
(Beitrag "Dubuggen einer elf File").

Damals kam man zum Schluss, dass der IAR keinen ELF-Objektcode mit 
Debuginfos erzeugen kann.

Eine Abhilfe wäre, mit dem IAR Objektcode in einem anderen, 
IAR-kompatiblen Format zu erzeugen und - jetzt kommt es - den mit den 
IAR eigenen Debugtools zu debuggen. Bei der freien IAR Kickstart Version 
(http://focus.ti.com/docs/toolsw/folders/print/iar-kickstart.html) ist 
sogar ein Debugger dabei!

Eine andere Abhilfe wäre, den Quellcode mit dem GCC für MSP430 zu 
übersetzen. Der kann ELF-Obektcode mit Debuginformationen erzeugen, die 
der GNU Debugger verarbeiten kann. Auf den GNU Debugger (GDB) kann man 
grafische Oberflächen aufsetzen.

Der Haken an diesem 2. Weg ist, dass es compilerspezifische 
Erweiterungen zum C Standard geben kann und der C-Quellcode nicht 1:1 
von IAR nach GCC übertragbar sein muss. Anfänger scheitern vielleicht an 
der eventuell notwendigen Anpassung. Mehr könnte man sagen, wenn man mal 
den C-Quellcode gesehen hat.

Der nächste Haken an der GNU Toolchain ist, dass das Aufsetzen und 
Betreiben der Toolchain und des GDB mit GUI für Anfänger erschreckend 
kompliziert sein kann. Andererseits habe ich es nicht mal geschafft die 
dämliche IAR Kickstart Version von oben zu installieren ;-)

von Johnny (Gast)


Lesenswert?

> Hallo, ich würde gerne nachträgliche Debug-Inforamtationen zu einer elf
> File hinzufügen.

Das geht so; Du kompilierst denselben Quellcode nochmals mit der Option, 
dass Debuginformationen dabei sein sollen.
Dann machst Du ein Diff von Deiner ELF Datei ohne Debug-Informationen 
und der ELF Datei mit Debug-Informationen. Die gefundenen Änderungen 
trägst Du dann bei der ELF Datei ohne Debug-Informationen nach.
Hast Du alles richtig gemacht, sollte ein erneutes Diff keine 
Unterschiede mehr zwischen Deiner modifizierten ELF Datei mit der 
zuletzt mittels Compiler erzeugten mehr aufweisen.

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.