如何启用或配置 ftrace 模块

How to Enable or configure ftrace module

我想使用 ftrace 的高级功能,但不知道如何使用。 debugfs 已安装,但 /sys/kernel/debug 中没有 "tracing" 文件夹。 我是 运行 通过 yocto 构建的 ARM-Target @Angstrom 发行版,请参阅:

Image: uname -a & lsb_release -a output

zcat /proc/config.gz | grep TRACER|FTRACE output

如何配置内核?我必须设置哪些选项?

在您的 yocto 项目 conf/local.conf 文件中添加以下内核配置选项,然后清理并重建 linux 内核。

KERNEL_CONFIG_DYNAMIC_FTRACE="y"
KERNEL_CONFIG_DEBUG_FS="y"
KERNEL_CONFIG_FTRACE="y"
KERNEL_CONFIG_FUNCTION_TRACER="y"
KERNEL_CONFIG_FUNCTION_GRAPH_TRACER="y"
KERNEL_CONFIG_IRQSOFF_TRACER="y"
KERNEL_CONFIG_PREEMPT_TRACER="y"
KERNEL_CONFIG_SCHED_TRACER="y"
KERNEL_CONFIG_STACK_TRACER="y"
KERNEL_CONFIG_BLK_DEV_IO_TRACE="y"
KERNEL_CONFIG_FUNCTION_PROFILER="y"
KERNEL_CONFIG_FTRACE_MCOUNT_RECORD="y"

用这个内核启动应该启用 ftrace

可以通过在内核配置参数中添加以下内容来启用 ftrace:

CONFIG_FUNCTION_TRACER=y
CONFIG_FUNCTION_GRAPH_TRACER=y
CONFIG_STACK_TRACER=y
CONFIG_DYNAMIC_FTRACE=y