Frage

In der modernen Linux fast alle Objekte werden entfernt und in zwei Teile aufgeteilt (zwei Dateien). Zunächst ist ausführbar selbst und der zweite ist Debug-Symbole, von der ursprünglichen ELF abgezogen. Solche Dateien mit erstellt

objcopy --only-keep-debug original.elf binary.dbg
mv original.elf binary
objcopy --strip-debug binary

Wie kann ich binary und binary.dbg in ELF-Datei verschmelzen mit info Debuggen? Ich möchte unstripped, Originalbinärbild neu erstellen. Es kann sein, nicht Byte-zu-Byte gleich dem ursprünglichen, aber es muss in einem Debug-Symbole haben.

PS Ja, ich weiß über gnu.debuglink Abschnitt, aber es funktioniert nicht für einige Debugger (etnus) und Disassembler (objdump kann nicht wiederherstellen Symbole info)

War es hilfreich?

Lösung

Für ELF, das elfutils Paket enthält ein Tool namens eu-unstrip dass der Job nicht. Im Zusammenhang mit Ihrem Beispiel:

eu-unstrip binary binary.dbg

binary.dbg hat nun sowohl die binäre und Debug-Symbole. Ich würde einen Verweis auf Dokumentation enthalten, wenn ich welche finden könnte ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top