一 功能
用来对内核进行静态插桩,我们可以在内核函数的特定逻辑位置处,放置插桩点。这些插桩点及其回调函数会被编译到内核镜像中
二 添加tracepoints及使用
不同版本内核,有不同的方式,如:
(1)TRACE_EVNET
(2)DECLARE_TRACE
具体可以参考如下文档:
https://elixir.bootlin.com/linux/v4.17.18/source/Documentation/trace/tracepoints.rst
如何使用 TRACE_EVENT() 宏来创建跟踪点_u012849539的博客-CSDN博客
三 操作接口
(1) 基于Ftrace, 通过/sys/kernel/debug/tracing/events操作各个跟踪点
(2)perf_event_open
四 跟踪点为BCC/bpftrace/systemTap等提供内核的静态插桩支持
注意与kprobes动态内核插桩的区别