首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android Systrace工具内部使用strace还是ftrace?

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

Stack Overflow用户
提问于 2013-04-08 12:06:39
回答 1查看 6.9K关注 0票数 7

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

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

在互联网上做了一些研究,我发现straceftracehttp://crtags.blogspot.de/2012/04/dtrace-ftrace-ltrace-strace-so-many-to.html的前身

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

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

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

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

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-04-09 14:44:23

我遵循了这里找到的有关ftrace,:http://www.linuxforu.com/2010/11/kernel-tracing-with-ftrace-part-1/的说明

一切都很完美。因为交互和检索数据是通过逻辑路径完成的,所以我以前无法执行ftrace

在正确配置(多个步骤.)之后,在亚行外壳中执行ftrace:

代码语言:javascript
运行
复制
root@android:# cat /sys/kernel/debug/tracing/trace > mytracefile.txt

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

代码语言:javascript
运行
复制
root@android:# atrace -s -w -t 100 > mytracefile.txt

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

在我的环境中,使用adb成功地执行了所有指示的示例。

交互和对这两种工具的结果的访问非常不同。

现在我可以说,systrace Android工具是基于平台的,而后者又是基于ftrace的。

strace也被支持,但服务于其他目的,与systrace无关。

致以敬意,

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15878632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档