SystemTap 学习
SystemTap 基于 Kprobes( Kprobe、Kretprobe)。
SystemTap的执行流程:
1.首先通过 stap程序 将stap脚本转换成c代码,进一步转换成提供探针行为的内核模块;
2.通过SystemTap:staprun、stapio将模块安装到内核中并将输出发送到stdout。
SystemTap 运行基于内核符号表,可以提供能基于符号表的检测调用、查询变量、修改动作。
SystemTap 脚本由探针和在触发探针时需要执行的代码块组成。
最后,SystemTap提供许多内部函数,这些函数提供关于当前上下文的额外信息。例如,您可
以使用caller()识别当前的调用函数,使用cpu()识别当前的处理器号码,以及使用pid()
返回 PID。SystemTap还提供许多其他函数,提供对调用堆栈和当前注册表的访问。
SystemTap 工作原理。
SystemTap 如何用的内核符号表?
linux 调试信息包含哪些信息?
SystemTap 内核中做了哪些工作?
参考资料:
https://blog.csdn.net/panfengyun12345/article/details/16858429
https://www.cnblogs.com/youngerchina/p/5624588.html
《systemtap原理及应用》
https://www.cnblogs.com/youngerchina/p/5624588.html
《Systemtap tutorial》
https://sourceware.org/systemtap/tutorial/
浙公网安备 33010602011771号