gpt4 book ai didi

Android Systrace 工具内部使用strace 还是ftrace?

转载 作者:IT王子 更新时间:2023-10-29 00:32:28 25 4
gpt4 key购买 nike

Systrace Android 工具在内部调用一个名为 atrace 的工具,它是 ftracestrace 的扩展(Linux工具)。

如果我们通过模拟器控制台(ADB shell)连接到 Android Jelly Bean,我们可以执行 strace 工具,但我们不能执行 ftrace工具(未安装命令)。

通过 Internet 进行一些研究,我发现 straceftrace 的前身: http://crtags.blogspot.de/2012/04/dtrace-ftrace-ltrace-strace-so-many-to.html

查看 Android 源代码,我找到的最“内部”引用是 Trace.h 文件: http://androidxref.com/4.1.1/xref/frameworks/native/include/utils/Trace.h

我认为此文件随后被解析为本地 Linux 驱动程序。

但是,我仍然无法知道这个实现驱动程序是属于strace还是ftrace。 “通常”,它应该是 ftrace 因为它较新,但在那种情况下我不知道为什么我们不能从模拟器运行 ftrace。相比之下,strace 完全可以从模拟器中获得。

那么,有人知道 Systrace Android 工具是否在非常低的级别使用 straceftrace 吗?

谢谢!

最佳答案

我已按照此处找到的与 ftrace 相关的说明进行操作: http://www.linuxforu.com/2010/11/kernel-tracing-with-ftrace-part-1/

一切正常。我之前无法执行 ftrace,因为交互和检索数据是通过逻辑路径完成的。

要执行 ftrace,在正确配置后(许多步骤...),在 adb shell 中:

root@android:# cat /sys/kernel/debug/tracing/trace > mytracefile.txt

atrace 使配置过程更简单,因此我们可以通过以下方式访问跟踪信息:

root@android:# atrace -s -w -t 100 > mytracefile.txt

另一方面,我在这里找到了有关执行 strace 的信息: http://www.hokstad.com/5-simple-ways-to-troubleshoot-using-strace

所有指示的示例均已使用 adb shell 在我的环境中成功执行。

这两种工具的交互和访问结果有很大不同。

现在我可以说 systrace Android 工具基于 atrace,而 atrace 又基于 ftrace

strace 也受支持,但用于其他目的,与 systrace 无关。

问候,

关于Android Systrace 工具内部使用strace 还是ftrace?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15878632/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com