Question

Dans linux moderne presque tous les objets sont dépouillés et en deux parties en fente (deux fichiers). Le premier est lui-même exécutable et le second est des symboles de débogage, dépouillé de ELF d'origine. Ces fichiers sont créés avec

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

Comment puis-je fusionner binary et binary.dbg dans le fichier ELF avec informations de débogage? Je veux recréer unstripped, binaire d'origine. Il peut être pas octet par octet égal à l'original, mais il doit avoir un des symboles de débogage à l'intérieur.

PS Oui, je sais à propos de la section gnu.debuglink, mais il ne fonctionne pas pour certains débogueurs (etnus) et désassemblé (objdump ne peut pas restaurer info symboles)

Était-ce utile?

La solution

Pour ELF, le package contient elfutils un outil appelé eu-unstrip qui fait le travail. Dans le contexte de votre exemple:

eu-unstrip binary binary.dbg

binary.dbg a maintenant les binaires et les symboles de débogage. J'inclure une référence à la documentation si je pouvais trouver ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top