唯一-キープデバッグとobjcopyをのストリップを逆にするには?
質問
最近のLinuxでは、ほぼすべてのオブジェクトは、次の2つの部分(2つのファイル)で剥離し、分割されています。最初は、それ自体の実行可能であり、第二の元ELFからデバッグシンボルを削除、です。このようなファイルを使用して作成されます。
objcopy --only-keep-debug original.elf binary.dbg
mv original.elf binary
objcopy --strip-debug binary
私はデバッグ情報を持つELFファイルにbinary
とbinary.dbg
をマージすることができますどのように?私はストリップされていない、元のバイナリを再作成します。それはバイトにバイトを元に等しくないことができますが、それは内部のデバッグシンボルを持っている必要があります。
PSはい、私はgnu.debuglink
セクションについて知っているが、それはいくつかのデバッガ(etnus)と逆アセンブラのための作業(objdumpのシンボル情報を復元することはできません)
解決
ELFの場合は、elfutils
パッケージは、仕事をしていませんeu-unstrip
と呼ばれるツールが含まれています。あなたの例の文脈でます:
eu-unstrip binary binary.dbg
binary.dbg
は今、バイナリおよびデバッグシンボルの両方を持っています。私はいずれかを見つけることができれば、私は、ドキュメントへの参照を含めると思います...
所属していません StackOverflow