2017-07-05 37 views
0

我想用.symtab和.strtab部分構建一個二進制文件來跟蹤函數。 我正在使用「make & & make install」,二進制文件沒問題。 但是,當我使用「make rpm」並安裝rpm包時,.symtab和.strtab部分都不見了。 我跟蹤RPM生成日誌,看到那些:rpm build會刪除.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包並且不要去除調試部分。我最初的目標是構建普通和debuginfo rpm軟件包,普通軟件包中的二進制文件包含.symtab .strtab和.debug_ *部分。似乎沒有辦法做到這一點。 :( – Vatel