android – 让Systrace在Mac上使用4.1.2设备
作者:互联网
我一直在努力使用systrace.
我的设备运行4.1.2(LT28i),我在Mac上.我正在回答类似问题的SO问题,但没有一个人有明确的答案.
我想让我们说跟踪视图和图形
方法1,eclipse:
错误:
方法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?
电话调试已启用,“启用跟踪”也是(通过命令行或通过电话本身).
解决方法:
看起来你的手机正在运行一个不支持systrace的启动(内核)映像.
“错误打开/ sys / kernel / debug / tracing / options / overwrite:没有这样的文件或目录(2)”
此错误消息表示adb守护程序(在设备端运行的adb模块)无法在设备的文件系统上找到/ sys / kernel / debug / tracing / options / overwrite. systrace通过adb工作,并通过/ sys / kernel / debug / tracing下的sysfs节点与内核通信.如果由于某种原因这些节点没有暴露在您的手机上,systrace将无法正常工作.
因此,您应首先使用以下命令在设备上获取shell:
adb shell
然后浏览以确认是否存在/ sys以及是否存在/ sys / kernel / debug / tracing.
如果他们在那里是极不可能的,你必须调试systrace.py来弄清楚systrace如何认为节点不在那里.否则,您需要刷新具有systrace支持的不同引导映像,因为sysfs由内核(主要是编译时的配置)和init.rc控制,这两者都是引导映像的一部分.
闪烁不同的启动映像可能涉及解锁/生根设备.您可能需要访问xdadeveloper等粉丝网站获取信息和图片.另一个选择是为您的设备下载内核源代码,编译内核并自己制作启动映像. Linux属于GPL,因此您的设备制造商有义务发布他们使用的专用内核的源代码.
标签:systrace,android,macos,adb,android-debug 来源: https://codeday.me/bug/20190725/1531558.html