在现代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不能恢复符号信息)
发布于 2016-07-29 03:59:02
对于ELF,elfutils包包含一个名为eu-unstrip的工具来完成这项工作。在您的示例的上下文中:
eu-unstrip binary binary.dbg
binary.dbg现在同时具有二进制和调试符号。如果我能找到的话我会包括一个文档的参考...
https://stackoverflow.com/questions/2509301
复制相似问题