Как перевернуть полосу objcopy с помощью only-keep-debug?

StackOverflow https://stackoverflow.com/questions/2509301

Вопрос

В современном Linux почти все объекты разделены на две части (два файла).Первый — это сам исполняемый файл, а второй — символы отладки, вырезанные из исходного ELF.Такие файлы создаются с помощью

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

Как я могу объединить binary и binary.dbg в файл ELF с информацией об отладке?Я хочу воссоздать неразобранный исходный двоичный файл.Он может быть не побайтовым равным оригиналу, но должен иметь внутри отладочные символы.

PS Да, я знаю об этом gnu.debuglink раздел, но он не работает для некоторых отладчиков (etnus) и дизассемблеров (objdump не может восстановить информацию о символах)

Это было полезно?

Решение

Для ELF elfutils пакет содержит инструмент под названием eu-unstrip это делает работу.В контексте вашего примера:

eu-unstrip binary binary.dbg

binary.dbg теперь имеет как двоичные, так и отладочные символы.Я бы включил ссылку на документацию, если бы мог найти что-нибудь...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top