在现代 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 无法恢复符号信息)