2014-02-13 48 views
3

我一直在苦苦挣扎只使用systrace。使Systrace与Mac上的4.1.2设备一起工作

我的设备运行4.1.2(LT28i),我在Mac上。我反弹的问题与类似的问题都没有一个明确的答案。

我想假设跟踪viewsgraphics

方法1,月食:

enter image description here

错误:

enter image description here

方法2,终端:

$ python systrace.py --cpu-load --time=10 -o mytracefile.html 
error opening /sys/kernel/debug/tracing/options/overwrite: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/events/sched/sched_switch/enable: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/events/power/cpu_frequency/enable: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/events/power/cpu_idle/enable: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/events/cpufreq_interactive/enable: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/buffer_size_kb: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/trace_clock: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/tracing_on: No such file or directory (2) 
error: unable to start trace 
error opening /sys/kernel/debug/tracing/tracing_on: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/options/overwrite: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/events/sched/sched_switch/enable: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/events/power/cpu_frequency/enable: No such file or directory (2) 
error opening /sys/kernel/debug/tracing/trace_clock: No such file or directory (2) 
unable to start tracing 
error opening /sys/kernel/debug/tracing/buffer_size_kb: No such file or directory (2) 
An error occured while capturing the trace. Output file was not written. 
dionyses-lorentzoss-imac:systrace dionysis_lorentzos$ mount -o rw,remount -t debugfs none /sys/kernel/debug 
mount: realpath /sys: No such file or directory 

我也尝试下面的命令,并得到一个错误,但根据google docs根只需要在一些跟踪。

$ adb root 
adbd cannot run as root in production builds 

如何为视图或图形生成简单的systrace?

在手机中调试是启用的,并且“启用跟踪”(通过命令行或通过手机本身)。

+0

它看起来像您的设备上没有启用systrace。一些OEM厂商以这种方式运送设备。与http://stackoverflow.com/questions/17887754/相同的错误。 – fadden

回答

7

看起来您的手机正在运行不支持systrace的引导(内核)映像。

“错误打开/ SYS /内核/调试/跟踪/选项/覆盖:没有这样的文件或目录(2)”

此错误消息表示ADB守护进程(在设备侧运行ADB模块)在设备的文件系统上找不到/sys/kernel/debug/tracing/options /覆盖。 systrace通过adb工作,并通过/sys/kernel/debug/tracing与sysfs节点通过内核进行通信。如果这些节点没有出于任何原因暴露在你的手机上,systrace就无法工作。

所以,你应该首先使用得到一个shell您的设备上:

亚行外壳

然后浏览,以确认是否/SYS存在的话,如果/SYS /内核/调试/跟踪存在。

如果他们在那里是不太可能的,你必须调试systrace.py来弄清楚systrace如何认为节点不在那里。否则,您需要刷新支持systrace的不同引导映像,因为sysfs由内核(主要是编译时的配置)和init.rc控制,这两者都是引导映像的一部分。

刷新不同的引导映像可能涉及解锁/ root设备。您可能必须去粉丝网站,如xdadeveloper的信息和图像。另一种选择是下载设备的内核源码,编译内核并自行创建启动映像。 Linux在GPL下,因此你的设备制造商有义务发布他们使用的专用内核的源代码。

+0

/sys/kernel/debug exists:'shell @ android:/ sys/kernel/debug $'如果我在里面创建了一个跟踪文件夹?但是我猜想里面会有很多丢失的文件。 =) – Diolor

+0

@Diolor如果你在里面创建一个跟踪文件夹,它将无济于事。 Sysfs是虚拟文件系统或相当抽象的文件系统,以便与虚拟机使用的文件系统区分开来。 sysfs内的“文件”不是常规文件,而是以文件形式呈现的Linux内核接口节点。用户空间通过在这些节点上执行文件操作(如read/write/ioctl)与内核进行通信。因此,sysfs节点只有在内核创建和支持时才有用。用启用了systrace的引导映像替换引导映像可能是您唯一的选择。 – logicor

+0

感谢您的解释。 – Diolor

相关问题