[systemtap手记]debian体系安装过程

本文介绍在Debian体系的Ubuntu11.10上安装SystemTap并解决调试过程中遇到的问题,包括安装带debuginfo的内核、安装必要的依赖包、编译内核等步骤。

Debian体系,本人测试用机 Ubuntu 11.10

uname -r 查看原本的内核版本为 3.0.0-12-generic

第一步:

安装systemtap包

$ sudo apt-get install systemtap
$ sudo apt-get install systemtap-sdt-dev

测试

stap -e 'probe kernel.function("sys_open") {log("hello world") exit()}'

不能正确输出hello world

semantic error: libdwfl failure (missing x86_64 kernel/module debuginfo under
'/lib/modules/3.0.0-12-generic/build'): No such file or directory while resolving probe point
kernel.function("sys_open")
semantic error: no probes found
Pass 2: analysis failed.  Try again with another '--vp 01' option.

报告错误大致意思为找不到内核debuginfo 信息

解决办法:

1.安装带debuginfo的内核

#安装编译内核所需要的对应的依赖关系包
$ sudo apt-get build-dep --no-install-recommends linux-image-$(uname -r)
#下载内核镜像
$ apt-get source linux-image-$(uname -r)
$ cd linux-3.0.0
$ debian/rules clean
#开始编译内核,skipdbg为false编译不跳过带debuginfo的选项
$ AUTOBUILD=1 fakeroot debian/rules binary-generic skipdbg=false
#安装3.0.0-32版本的内核
$ sudo dpkg -i ../linux-image-3.0.0-32-generic-dbgsym_3.0.0-32.51_i386.ddeb

笔者最初的内核版本为3.0.0-12-generic,编译带debuginfo的内核安装后对应升级到 3.0.0-32-generic

2.安装linux-headers

sudo apt-get install linux-headers-`uname -r`

3.重启机器

stap -e 'probe kernel.function("sys_open") {log("hello world") exit()}'

 正确输出hello world表示安装成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值