質問

最近のLinuxでは、ほぼすべてのオブジェクトは、次の2つの部分(2つのファイル)で剥離し、分割されています。最初は、それ自体の実行可能であり、第二の元ELFからデバッグシンボルを削除、です。このようなファイルを使用して作成されます。

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

私はデバッグ情報を持つELFファイルにbinarybinary.dbgをマージすることができますどのように?私はストリップされていない、元のバイナリを再作成します。それはバイトにバイトを元に等しくないことができますが、それは内部のデバッグシンボルを持っている必要があります。

PSはい、私はgnu.debuglinkセクションについて知っているが、それはいくつかのデバッガ(etnus)と逆アセンブラのための作業(objdumpのシンボル情報を復元することはできません)

ません
役に立ちましたか?

解決

ELFの場合は、elfutilsパッケージは、仕事をしていませんeu-unstripと呼ばれるツールが含まれています。あなたの例の文脈でます:

eu-unstrip binary binary.dbg

binary.dbgは今、バイナリおよびデバッグシンボルの両方を持っています。私はいずれかを見つけることができれば、私は、ドキュメントへの参照を含めると思います...

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top