osg*_*sgx 16 strip objdump binutils objcopy
在现代linux中,几乎所有对象都被剥离并分成两部分(两个文件).第一个是可执行的,第二个是调试符号,从原始ELF中删除.这样的文件是用
objcopy --only-keep-debug original.elf binary.dbg
mv original.elf binary
objcopy --strip-debug binary
Run Code Online (Sandbox Code Playgroud)
我该如何合并binary
和binary.dbg
成ELF文件,调试信息?我想重新创建未经剥离的原始二进制文件.它可以不是与原始字节相同的字节到字节,但必须在其中包含调试符号.
PS是的,我知道gnu.debuglink
部分,但它不适用于某些调试器(etnus)和反汇编程序(objdump无法恢复符号信息)
对于ELF,该elfutils
程序包包含一个称为eu-unstrip
完成工作的工具.在您的示例的上下文中:
eu-unstrip binary binary.dbg
binary.dbg
现在有二进制和调试符号.如果我找到任何文件,我会提供文档参考...