pahole安装及使用(centos7)
下载pahole
url:
https://github.com/jmesmon/pahole.git
安装依赖库
centos7:
yum -y install cmake
yum -y install libdwarf-debuginfo.x86_64 libdwarf-devel.x86_64 libdwarf-tools.x86_64
yum -y install elfutils-libs.x86_64 elfutils-devel.x86_64 elfutils-libelf-devel.x86_64
yum -y install dwarves.x86_64 dwarves-debuginfo.x86_64
yum -y install libdwarves1-devel.x86_64
修改源码
修改: 注释 DW_TAG_mutable_type
。
文件:
pahole-master/dwarves_fprintf.c
差分:
line 77:
- [DW_TAG_mutable_type] = "mutable_type",
+ /* [DW_TAG_mutable_type] = "mutable_type", */
原因:
DW_TAG_mutable_type 没有定义
编译
mkdir build
cd build
cmake -D__LIB=lib ..
make
使用
# 打印出所有结构体的情况。
pahole -V <objfile_or_so_file>
# 打印出所有`<my_struct>`结构体的情况。
pahole -C <my_struct> <obj_file_or_so_file>