Blog icon indicating copy to clipboard operation
Blog copied to clipboard

systemtap安装使用

Open jason--liu opened this issue 5 years ago • 0 comments

##安装 不要用apt install方式安装,踩过的坑。。最好用源码安装。

$ sudo apt remove systemtap
$ sudo apt install g++ make git libelf-dev libdw-dev

$ git clone git://sourceware.org/git/systemtap.git
$ cd systemtap/
$ ./configure && make         // no errors
$ sudo make install

$ sudo stap -e 'probe begin { printf("Hello, World!\n"); exit() }'
[sudo] password for jason: 
Hello, World!

安装debug包

下面的操作都是基于Ubuntu18.04平台

  1. 添加GPG key
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys C8CAB6595FDFF622
  1. 添加repository
codename=$(lsb_release -c | awk  '{print $2}')
sudo tee /etc/apt/sources.list.d/ddebs.list << EOF
deb http://ddebs.ubuntu.com/ ${codename}      main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-security main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-updates  main restricted universe multiverse
deb http://ddebs.ubuntu.com/ ${codename}-proposed main restricted universe multiverse
EOF
  1. 更新镜像源
sudo apt-get update
  1. 下载debugging symbols
sudo apt-get install linux-image-$(uname -r)-dbgsym
  1. 生成systemtap/libelf所需的模块信息。将如下命令放入debug_ko.sh
for file in `find /usr/lib/debug -name '*.ko' -print`
do
        buildid=`eu-readelf -n $file| grep Build.ID: | awk '{print $3}'`
        dir=`echo $buildid | cut -c1-2`
        fn=`echo $buildid | cut -c3-`
        mkdir -p /usr/lib/debug/.build-id/$dir
        ln -s $file /usr/lib/debug/.build-id/$dir/$fn
        ln -s $file /usr/lib/debug/.build-id/$dir/${fn}.debug
done

比较慢,好像不加也可以? 最后测试

$ sudo stap -e 'probe begin { printf("Hello, World!\n"); exit() }'
[sudo] password for jason: 
Hello, World!

参考资料

Installing Ubuntu Kernel Debugging Symbols ubuntu安装systemtap

后续更新systemtap调试使用方法 https://vcpu.me/systemtap%E4%BD%BF%E7%94%A8%E8%B0%83%E8%AF%95%E8%AE%B0%E5%BD%95%EF%BC%88%E4%B8%80%EF%BC%89/ https://stackoverflow.com/questions/29840213/how-do-i-trace-a-system-call-in-linux http://www.lenky.info/archives/2013/02/2209

jason--liu avatar Jan 14 '20 09:01 jason--liu