ELF Info (Debug-Information) nachträglich in elf File hinzufügen

Persönliche Seite #1397868
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 ;-)
Gast #1397900
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.

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