tracer ftrace笔记(23)—— ftrace使用笔记

基于msm-5.4


一、各个tracer简介

默认使能的tracer:

/sys/kernel/debug/tracing # cat available_tracers
blk wakeup_dl wakeup_rt wakeup preemptirqsoff preemptoff irqsoff function nop

各tracer作用简介:

blk:

wakeup_dl:

wakeup_rt:

wakeup:

preemptirqsoff:

preemptoff:

irqsoff:

function: 打印函数被哪个函数调用了以及函数运行的上下文,可以设置过滤pid和函数名。

nop:


二、function tracer

1. 用法

复制代码
/sys/kernel/debug/tracing # cat available_tracers
blk wakeup_dl wakeup_rt wakeup preemptirqsoff preemptoff irqsoff function nop
/sys/kernel/debug/tracing # echo function > current_tracer
/sys/kernel/debug/tracing # echo 595 > set_ftrace_pid         //设置要跟踪的线程
/sys/kernel/debug/tracing # echo schedule > set_ftrace_filter //设置要跟踪的函数
/sys/kernel/debug/tracing # echo 1 > tracing_on
/sys/kernel/debug/tracing # cat trace_pipe
  surfaceflinger-595     [001] ...1 26747.217275: schedule <-binder_thread_read
  surfaceflinger-595     [001] ...1 26747.217803: schedule <-futex_wait_queue_me
  ...
复制代码


2. 作用

可以过滤某个线程的某个函数何时被哪个函数调用了,调用时运行在哪个上下文中。

 

TODO: 可以设置跟踪多个线程或多个函数吗?这个是不是可以多搞几层栈,搞个5-6层。
TODO: 测试每一个,看下这个目录下每个文件的作用。

 

posted on   Hello-World3  阅读(13)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2023-01-17 Uid和Gid
2019-01-17 Android开发小问题解决汇总

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示