在Ubunut 18.04 虚拟机中尝试使用Systemtap

安装stap工具

sudo apt-get install systemtap

测试stap 工具是否可用

sudo stap -ve ‘probe begin { log(“hello systemtap!”) exit() }’

增加当前ubuntu版本对应的linux kernel 符号表所在的官方仓库

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

下载linux-image的符号表

sudo apt-get update
sudo apt-get install linux-image-$(uname -r)-dbgsym

新建一个 测试用的 1.stap 脚本文件

$ cat 1.stap

probe begin
{
    printf (">>>begin...\n")
}

probe syscall.openat
{
    printf ("%s(%d) open (%s)\n", execname(), pid(), argstr)
}

probe timer.ms(4000) # after 4 seconds
{
    exit ()
}

probe end
{
    print ("<<<end.\n")
}

运行1.stap脚本

sudo stap 1.stap  

在此期间,新开一个命令窗口,随便运行一个 ls 命令,会看到如下抓到的log,可以看到,有很多次的 open() 系统调用被捕捉到了:
在这里插入图片描述

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值