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() }'

SystemTap了解_可执行文件

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

对应于systemTrap的流程:

SystemTap了解_可执行文件_02

SystemTap的官网

探针

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

kernel.function("sys_sync") {

     ...

}