代码改变世界

SystemTap了解

2013-08-20 15:07  轩脉刃  阅读(609)  评论(0编辑  收藏

SystemTrap是监控和跟踪运行中的Linux内核操作的动态方法。

http://www.ibm.com/developerworks/cn/linux/l-systemtap/

使用SystemTrap需要使用trap来运行一个stp脚本

如何安装:

Centos下直接yum install systemtrap就行了

测试是否可以运行

运行:stap -ve 'probe begin { log("hello world") exit() }'

Image(4)

可以看到systemtap是先解析分析stp脚本,然后生成对应的c程序,再接着生成ko文件,后面运行ko可执行文件

对应于systemTrap的流程:

Image

SystemTap的官网

探针

SystemTap有个探针的概念,比如我希望在每次进行系统调用的时候都触发一次逻辑,那么就要使用

kernel.function("sys_sync") {

     ...

}

更多脚本参考例子:

http://www.ibm.com/developerworks/cn/linux/l-systemtap/

http://sourceware.org/systemtap/wiki