linux - ftrace:仅打印 trace_printk() 的输出

标签 linux linux-kernel trace ftrace

是否可以仅将 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/

相关文章:

linux - 进程处于可中断 sleep - 如何找出它在等待什么

Linux 内核在压力下有更好的响应时间

linux-kernel - 在 Linux 内核上禁用定时器中断

android - 在移动设备上修改和启动 linux 内核

linux-kernel - 使用我们的计时器逐个函数(仅最大)跟踪 Linux 内核

linux - CUDA 6.5/Ubuntu 14.04/AWS EC2 GPU 实例 g2.2xlarge 缺少 drm.ko

linux - pthreads的虚拟内存消耗

ruby - 在 Linux 服务器上安装 ruby​​ 1.9.3 时出错

ASP.Net MVC 跟踪显示 75 秒我无法解释

linux - 内核挂tty子系统