- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
Systrace Android 工具在内部调用一个名为 atrace 的工具,它是 ftrace 或 strace 的扩展(Linux工具)。
如果我们通过模拟器控制台(ADB shell)连接到 Android Jelly Bean,我们可以执行 strace 工具,但我们不能执行 ftrace工具(未安装命令)。
通过 Internet 进行一些研究,我发现 strace 是 ftrace 的前身: 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 工具是否在非常低的级别使用 strace 或 ftrace 吗?
谢谢!
最佳答案
我已按照此处找到的与 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/
我正在尝试使用 systrace。为此,我正在阅读official site . 但在终端上运行此命令后: D:\Software\Android\android-sdk\platform-tools
我正在尝试在 android 4.2 (avd 17) 模拟器上使用 systrace 我在跟踪选项中启用了 usb debuggimg 并激活了 webview,并在此处遵循本指南 http://w
这是错误信息 D:\Programming\Tools\ADT_bundle\sdk\platform-tools\systrace>python systrace.py Traceback (mos
我在我的 android studio 项目上运行 systrace 以发现一些性能错误,但在跟踪过程结束后,我收到以下错误,如果我在 chrome 中打开 trace.html 输出文件,跟踪 Vi
Android systrace工具,通过ADB调用atrace工具。但是,我不太了解跟踪文件的格式。显然它与 linux ftrace 工具非常相似,但有一些不同。主要区别在于它不使用 System
我正在尝试运行 Android SDK 提供的新 systrace 工具。正如在 Google I/O 2012 ( Demo starts at 31:04 in the video ) ( Ter
当我运行时python systrace.py --time=10 -o mynewtrace.html gfx 出现以下错误 Starting tracing (10 seconds) Tracin
Systrace Android 工具在内部调用一个名为 atrace 的工具,它是 ftrace 或 strace 的扩展(Linux工具)。 如果我们通过模拟器控制台(ADB shell)连接到
我正在尝试在 Ubuntu 12.04 32 位版本上编译 Systrace-1.6f。我发现以下错误。 root@sharma-VM:/home/sharma/Desktop/systrace-1.
我可以运行 systrace,但看不到 SurfaceFlinger 的踪迹。 GPU、bufferQueues 等 我给出了以下命令:systrace.py --time=10 -o mynewtr
android中的文档说 you can use the methods of the Trace class to add instrumentation to your application c
我遵循了 Jelly Bean 上的 systrace 教程 Android developer systrace 过程似乎是正确的,并为我创建了一个 html 文件,但它在浏览器中什么也没有显示,只
我正在学习使用这些工具进行性能分析。我已经阅读了关于 traceview 和 systrace 的 Android 文档,但我没有看到任何主要区别。它们都具有非常相同的 GUI:时间轴和左侧的所有组件
最新的 Android Systrace 页面 - http://developer.android.com/tools/debugging/systrace.html#options-4.3 - 显
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 8 年前。
我正在查看我的应用程序生成的 systrace,我发现一个框架花费的时间太长。这是由 RecyclerView 的 onCreateViewHolder 在展开我的项目 View 时引起的。使用 Co
我目前正在处理我的应用程序中的一些丢帧问题。我转向 systrace 寻求帮助,但不幸的是,我对它的输出并不聪明。 Here is my traceview.. 我的问题基本上是在我的适配器中我正在创
我按照此处的说明为我的应用程序使用 systrace,但每当我尝试为 systrace 设置标签时,我总是收到以下错误: systrace.py: error: no such option: --s
我在 Linux 中运行 Systrace 并生成了 HTML。 HTML 文件生成的内容很好。我的问题来了:当我在页面末尾的 HTML 中选择了一部分内容时,应该有一个需要显示的 Analysis
我正在尝试在非 root 设备上运行 systrace。如果选择了任何跟踪事件,它总是会出现以下错误: 无法找到跟踪开始标记“TRACE:”:打开/sys/kernel/debug/tracing/e
我是一名优秀的程序员,十分优秀!