是否可以仅将trace_printk()
输出转储到trace
文件中?我的意思是过滤掉函数跟踪器(或任何其他跟踪器)中的所有函数。
最佳答案
通常,您可以在options目录/sys/kernel/debug/tracing/options
中关闭选项。使用ls
显示所有可切换的选项。
# ls
annotate context-info funcgraph-abstime funcgraph-overhead func_stack_trace hex overwrite record-cmd sym-offset trace_printk
bin disable_on_free funcgraph-cpu funcgraph-overrun function-fork irq-info printk-msg-only sleep-time sym-userobj userstacktrace
blk_classic display-graph funcgraph-duration funcgraph-proc function-trace latency-format print-parent stacktrace test_nop_accept verbose
block event-fork funcgraph-irqs
通过
echo
切换选项,即echo -n "1" > /sys/kernel/debug/tracing/options/trace_printk
如果您尝试过滤掉
trace_printk()
没有产生的任何输出,则可能需要确保trace_printk()
是唯一的选项集。如有疑问,请检查kernel documentation总是很好。当我第一次学习ftrace时,还有一篇很棒的lwn文章对我有所帮助,它称为Secrets of the Ftrace function tracer,其中包括一些有关过滤的概述。
关于linux - ftrace : Only print output of trace_printk(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37592089/