2017-07-05 9 views
0

私は関数をトレースするために.symtabと.strtabセクションでバイナリを構築しようとしています。 私は "make & & make install"を使用していますが、バイナリはokです。 しかし、 "rpmを作って" rpmパッケージをインストールすると、.symtabと.strtabセクションの両方がうまくいきません。 私は、RPMのビルドログを追跡し、それらを見た:rpmビルドで.symtab/.strtabセクションが削除されますか?

libtool: install: /usr/bin/install -c mybinary /root/rpmbuild/BUILDROOT/mybinary.el7.centos.x86_64/usr/sbin/mybinary 

と、ここで、私は再びそれを手動で実行する、の.symtabセクションが存在します。

extracting debug info from /root/rpmbuild/BUILDROOT/mybinary.el7.centos.x86_64/usr/sbin/mybinary 

この手順の後、.symtabセクションは消えてしまいました。ここには何か間違いがあります。しかし、私は理由を知らない。 助けてください。

+0

私はここから答えを得ました:https://www.technovelty.org/code/split-debugging-info-symbols.html – Vatel

答えて

1

rpmbuildはデバッグ情報を自動的に削除し、-debugサブパッケージに置きます。なんらかの理由で保存したい場合は、https://imvoid.wordpress.com/2013/06/05/stripping-and-stopping-stripping-of-binaries-in-rpm-build/

+0

はい、これは私の選択ですdebuginfoパッケージをビルドせず、デバッグセクションを削除しないでください。私の最初の目標はnormalとdebuginfo rpmパッケージの両方をビルドすることでした。通常のパッケージのバイナリには.symtab .strtabと.debug_ *セクションが含まれていました。これを行う方法はないようです。 :( – Vatel

関連する問題