跳转至

BCC (BPF Compiler Collection)

BPF Compiler Collection (BCC)

本教程适用于Deepin 20.6、Deepin 20.7。

安装依赖

查看宿主机已安装llvm版本:

dpkg -l | grep libllvm

结果输出如下:

ii  libllvm11:amd64                               1:11.0.1-2                                 amd64        Modular compiler and toolchain technologies, runtime library

下方安装llvm、clang时版本需要选定为11。

sudo apt -y install bison \
build-essential \
cmake \
flex \
git \
libedit-dev \
llvm-11-dev \
libclang-11-dev \
python \
zlib1g-dev \
libelf-dev \
libfl-dev \
python3-distutils

源码下载

  1. 代码下载方式一(推荐使用)

    wget https://github.com/iovisor/bcc/releases/download/v0.25.0/bcc-src-with-submodule.tar.gz
    tar -zxvf bcc-src-with-submodule.tar.gz
    
  2. 代码下载方式二

    git clone https://github.com/iovisor/bcc.git
    git checkout -b v0.25.0
    git submodule update --init --recursive
    

编译安装bcc

set -ex
mkdir bcc/build
cd bcc/build
cmake ..
make
sudo make install
cmake -DPYTHON_CMD=python3 .. # build python3 binding
pushd src/python/
make
sudo make install
popd

Environment variable configuration

echo "export PATH=$PATH:/usr/share/bcc/tools" >> /etc/profile
sudo visudo后追加/usr/share/bcc/tools到secure_path后面
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/usr/share/bcc/tools"
source /etc/profile

将python3设置为默认的python

直接执行这两个命令即可:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

上述命令执行后,python3已被设置为默认的python。

切换到Python2,执行:

sudo update-alternatives --config python

Get started

sudo execsnoop
trace-bpfcc -tKU -I 'sound/pci/hda/hda_codec.h' 'r::snd_hda_codec_configure(struct hda_codec *codec) "ret:%d", retval'
trace-bpfcc 'r::parse_user_pin_configs "ret:%d", retval'

More


💬 评论