set_ftrace_notrace:和 set_ftrace_filter 刚好相反,系统禁用对其中列举函数的追踪。 3.3.11 set_ftrace_pid 系统对 set_ftrace_pid 文件中指定的 PID进程进行追踪。 如果开启了 options/function-fork 选项,fork 的子进程的 PID 也会自动加入文件,同时该选项也会引起系统自动将退出进程的 PID 从文件中移除。 3...
set_ftrace_filter:用于指定跟踪的函数 set_ftrace_notrace:用于指定不跟踪的函数 set_ftrace_pid:用于指定要跟踪特定进程的函数 Disable tracer: echo 0 > tracing_on 设置tracer 类型为 function: echo function > current_tracer set_ftrace_filter 表示要跟踪的函数,这里我们只跟踪 dev_attr_show 函数: echo d...
set_ftrace_notrace:和set_ftrace_filter刚好相反,系统禁用对其中列举函数的追踪。 3.3.11 set_ftrace_pid 系统对set_ftrace_pid文件中指定的PID进程进行追踪。 如果开启了options/function-fork选项,fork的子进程的PID也会自动加入文件,同时该选项也会引起系统自动将退出进程的PID从文件中移除。 3.3.12 set_graph_...
set_ftrace_filter:只跟踪这些函数 set_ftrace_notrace:不追踪这些函数(优先级高于set_ftrace_filter) set_graph_function:设置要清晰显示调用关系的函数(在使用 function_graph 跟踪器时使用) set_ftrace_pid:指定跟踪的进程ID 可通过查看available_filter_functions这个文件查看支持对哪些函数可作上面的操作 用cat ava...
function 跟踪器会记录当前系统运行过程中所有的函数。如果只想跟踪某个进程,可以使用set_ftrace_pid。 (跟踪器跟踪函数的进入和退出,这使跟踪器能够了解被调用函数的深度。函数图跟踪器可以使人眼更容易跟踪内核中的执行流程) 6、动态ftrace 在配置内核时打开了CONFIG_DYNAMIC_FTRACE选项,就可以支持动态ftrace功能。
free_buffer set_ftrace_pid tracing_max_latency function_profile_enabled set_graph_function tracing_on instances set_graph_notrace tracing_thresh kprobe_events snapshot uprobe_events kprobe_profile stack_max_size uprobe_profile 我不想去描述这些文件和子目录;它们的描述在 官方文档 中已经写的很详细了...
set_ftrace_pid:用于指定要跟踪特定进程的函数 Disable tracer: echo 0 > tracing_on 设置tracer 类型为 function: echo function > current_tracer set_ftrace_filter 表示要跟踪的函数,这里我们只跟踪 dev_attr_show 函数: echo dev_attr_show > set_ftrace_filter ...
kprobe_events set_ftrace_pid available_events 用于设置或显示当前使用的跟踪器;使用 echo 将跟踪器名字写入该文件可以切换到不同的跟踪器。系统启动后,其缺省值为 nop ,即不做任何跟踪操作。在执行完一段跟踪任务后,可以通过向该文件写入 nop 来重置跟踪器。
echo 1 > set_ftrace_pid #跟踪单个进程(内核线程)的函数调用。有效值大于0。如果echo > set_ftrace_pid则清空该选项。 echo function_graph > current_tracer #以图形化的方式跟踪函数调用。如下图所示。效果非常好。 默认情况下,会捕获所有的内核函数调用。可以使用下面的命令进行过滤,只捕获关心的函数调用。
使用echo pid > set_ftrace_pid来追踪指定的进程! 我们写程序时可以使用getpid 获取进程PID,然后使用 write 将pid 写入 /debug/tracing/set_ftrace_pid ,并使用write 写1 到 tracing_on 打开追踪(因为在用户空间使用不了tracing_on函数),此时即可追踪当前这个进程。