[systemtap手记]debian体系安装过程
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表示安装成功
文章属原创,转载请注明出处
联系作者: Email:zhangbolinux@sina.com
QQ:513364476