准备

使用SystemTap,必须要有带调试信息编译的内核。另外,stap命令会自动创建内核模块,因此还需要安装内核头文件等。本节使用Fedora 14。使用的内核版本为2.6.35.12-90.fc14,SystemTap的版本为1.4-2.fc14。Fedora 14使用下列命令安装必要的工具包。


yum install systemtap yum-utils

debuginfo-install kernel


另外,要检查函数内部的源代码时,导入内核的源代码比较方便,但是需要进行一些准备工作。准备工作的步骤包括:安装rpmbuild数据包,安装内核的SPRM(source rpm),指定kernel.spec文件,使用rpmbuild生成可编译的内核源码树,如下所示。


yum install rpmbuild

yumdownloader—source kernel-2.6.35.12-90.fc14

rpm-i kernel-2.6.35.12-90.fc14.src.rpm

rpmbuild-bp~/rpmbuild/SPECS/kernel.spec


这样就会在~/rpmbuild/BUILD/kernel-2.6.35.fc14/linux-2.6.35.i686/下解压缩源代码。(在RHEL、CentOS和之前的Fedora中,情况有所不同,安装SRPM后将解压缩到/usr/src/redhat下,而不是~/rmpbuild)。