安卓上的ftrace?

Posted

技术标签:

【中文标题】安卓上的ftrace?【英文标题】:ftrace on android? 【发布时间】:2012-02-17 02:38:04 【问题描述】:

我一直试图让 ftrace 在 android 上运行,但无济于事。我正在使用带有内核 3.08 的 ICS。 以下是我遵循的步骤:

使用 menuconfig 并启用 KernelHacking->Tracers 下的所有选项。生成的最终 .config 启用了所有 ftrace 选项。 使用生成的 zImage 创建新系统和启动映像。 如果我尝试执行 mount -t debugfs nodev /sys/kernel/debug,我会收到一条消息说“mount: Device or resource busy”。我猜它已经安装好了。我尝试卸载并重新安装它,但这对我没有任何作用。 现在在 adb shell 中,我已经可以看到 /sys/kernel/debug 已创建。但是,如果我查看 available_tracers,我只能看到 blk 和 nop。 现在,如果我运行输出跟踪文件,这就是我得到的:

示踪剂:nop

       TASK-PID    CPU#    TIMESTAMP  FUNCTION
          | |       |          |         |
 rb_producer-15    [000]   606.337706: ring_buffer_producer_thread: Starting  ring buffer hammer
 rb_producer-15    [000]   616.264577: ring_buffer_producer_thread: End ring buffer hammer
 rb_producer-15    [000]   616.264606: ring_buffer_producer_thread: RunningConsumer at nice: 19
 rb_producer-15    [000]   616.264609: ring_buffer_producer_thread: RunningProducer at nice: 19
 rb_producer-15    [000]   616.264612: ring_buffer_producer_thread: WARNING!!! This test is running at lowest priority.
 rb_producer-15    [000]   616.264614: ring_buffer_producer_thread: Time:  9932418 (usecs)
 rb_producer-15    [000]   616.264616: ring_buffer_producer_thread: Overruns: 0
 rb_producer-15    [000]   616.264619: ring_buffer_producer_thread: Read:  10514159  (by pages)
 rb_producer-15    [000]   616.264621: ring_buffer_producer_thread: Entries:  3491
 rb_producer-15    [000]   616.264623: ring_buffer_producer_thread: Total:  10517650
 rb_producer-15    [000]   616.264625: ring_buffer_producer_thread: Missed:  0
 rb_producer-15    [000]   616.264626: ring_buffer_producer_thread: Hit:  10517650
 rb_producer-15    [000]   616.264629: ring_buffer_producer_thread: Entriesper millisec: 1058
 rb_producer-15    [000]   616.264630: ring_buffer_producer_thread: 945 ns per entry
 rb_producer-15    [000]   616.264633: ring_buffer_producer_thread: Sleeping for 10 secs
 rb_producer-15    [000]   626.261167: ring_buffer_producer_thread: Starting ring buffer hammer

如何启用其他跟踪选项,例如功能?

不可能这么难,尤其是当我读到有人在 Android 上使用 ftrace 时。这里一定有我遗漏的东西。

任何帮助/建议将不胜感激。

谢谢!

-卡纳夫

【问题讨论】:

你应该看到:Android Systrace Trace File Format,问候 查看:opensourceforu.com/2010/11/kernel-tracing-with-ftrace-part-1 【参考方案1】:

不要启用 RING_BUFFER_BENCHMARK。这是用于测试环形缓冲区的调试选项。您的输出显示它已启用并且正在浪费大量 CPU。

【讨论】:

【参考方案2】:

啊,明白了。忘了做一个herring_defconfig。还仅启用了功能跟踪器,而不是全部启用。现在可以使用了。

【讨论】:

嗨,内核是否可用于为 android 编译,以便使用 ftrace,还是取决于制造商可用的资源?

以上是关于安卓上的ftrace?的主要内容,如果未能解决你的问题,请参考以下文章

RK3399平台开发系列讲解(内核调试篇)2.48ftrace跟踪器介绍

怎么把安卓上的软件迁移到苹果上去?

安卓手机上的时间怎么调啊?

苹果手机上的联系人怎么可以传到安卓手机上

安卓上的阿卡

安卓手机上的音乐转换软件