🚀返回专栏总目录
文章目录
- 一. 指定 ftrace 跟踪器
- 二、设置要 trace 的函数
- 三、ftrace 的开关
- 四、查看 trace
- 五、trace-cmd 的使用
- 六、trace-cmd 的常用选项
-
- 6.1、查看可以跟踪的事件
- 6.2、跟踪特定进程的函数调用
- 6.3、函数过滤
- 6.4、限制跟踪深度
- 6.5、追踪特定事件
沉淀、分享、成长,让自己和他人都能有所收获!😄
Ftrace 是一个自 Linux 内核 2.6 版本起就支持的内核调试工具。最初,Ftrace 主要用于函数级别的跟踪(function trace),但经过不断发展,Ftrace 现已成为一个通用的调试框架,能够实现多种跟踪目的。
Ftrace 通过 debugfs 虚拟文件系统向用户空间提供访问接口。通常,debugfs 会挂载在 /sys/kernel/debug 目录下,而 Ftrace 的控制和输出文件位于该目录下的 tracing 子目录中,完整路径为 /sys/kernel/debug/tracing。
以观测 do_sys_open 调用栈为例,ftrace 的使用如下:
# 设置跟踪器类型为 function_graph
sudo sh -c "echo function_graph > /sys/kernel/debug/tracing/current_tracer"
# 设置要观测调用栈的函数
sudo sh