我正在查看一个 Linux KERNEL 配置文件,其中启用了 function_trace 但禁用了 debugfs。如果我将此内核加载到目标上,有什么方法可以使用 function_tracer 吗?如果 debugfs 被禁用,是不是默认情况下没有启用功能跟踪器?
1 回答
从技术上讲,如果没有启用 debugfs,就不可能选择 function_trace。根据跟踪配置文件(https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/kernel/trace/Kconfig#n140),它建议 - 如果您选择 FUNCTION_TRACER,它将自动选择generic_tracer,并且选择generic_tracer时,将自动选择跟踪(https://git.kernel.org/cgit/cgit/cgit/linux/linux/kernel/git/git/git/torvalds/linux.git.git.git/tree/tree/tree/kernel/kernel/kernel/kernel/trace/trace/kconfig,n1122 ) and when TRACING is selected it'll select DEBUG_FS ( https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/kernel/trace/Kconfig#n101 ).
因此,它是一个选择过程的链接列表,您不需要每次都选择每个选项。除非您手动修改了配置文件,否则不建议这样做。