systemtap学习

SystemTap 基于 Kprobes( Kprobe、Kretprobe)。

SystemTap的执行流程:

1.首先通过 stap程序 将stap脚本转换成c代码,进一步转换成提供探针行为的内核模块;

2.通过SystemTapstaprunstapio将模块安装到内核中并将输出发送到stdout。

SystemTap 运行基于内核符号表,可以提供能基于符号表的检测调用、查询变量、修改动作。

SystemTap 脚本由探针和在触发探针时需要执行的代码块组成。

最后,SystemTap提供许多内部函数,这些函数提供关于当前上下文的额外信息。例如,您可

以使用caller()识别当前的调用函数,使用cpu()识别当前的处理器号码,以及使用pid()

返回 PIDSystemTap还提供许多其他函数,提供对调用堆栈和当前注册表的访问。

 

 

Systemtap学习笔记
https://blog.csdn.net/panfengyun12345/article/details/16858429

猜你喜欢

转载自www.cnblogs.com/rivsidn/p/10417284.html