是否可以仅将 trace_printk()
输出转储到 trace
文件中?我的意思是过滤掉函数跟踪器(或任何其他跟踪器)中的所有函数。
最佳答案
通常,您可以在选项目录 /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 总是好的有疑问时。还有一篇很棒的 lwn 文章在我第一次学习 ftrace 时帮助了我,叫做 Secrets of the Ftrace function tracer ,其中包括一些关于一般过滤的部分。
关于linux - ftrace:仅打印 trace_printk() 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37592089/