Android DDMS v22.0.1无法使用Droid Razor 4.1.2生成systrace。

20

我已选择了几个跟踪标签,当我运行跟踪(来自 DDMS)时,我得到以下输出:

Unexpected error while collecting system trace. Unable to find trace start marker 'TRACE:':
error opening /sys/kernel/debug/tracing/options/overwrite: 
No such file or directory (2)

错误 openi(截断错误信息)

实际上,在内核目录中并没有调试文件,但是哪种机制会生成必要的路径?


1
这是一个关于编程的内容,请将以下英文文本翻译成中文。请仅返回翻译后的文本:这是运行Android Systrace on Device的副本吗? - fadden
1
你曾经解决过这个问题吗?我在我的Nexus 10上也遇到了同样的问题。 - Alex Lockwood
1
@jchristof 你是在物理设备上运行还是模拟器上? - IgorGanapolsky
不记得了,也没有重新访问该问题以查看它是否仍然存在。 - jchristof
在Moto X 2014上遇到了这个问题。 - theblang
似乎 systrace 无法在 Droid Razor 4.1.2 上运行。这里也有同样的问题。 - antonio081014
2个回答

6
看起来你的手机正在运行不支持systrace的引导(内核)映像。
“error opening /sys/kernel/debug/tracing/options/overwrite: No such file or directory (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),两者都是引导映像的一部分。
刷入不同的引导映像可能涉及解锁/Root设备。您可能需要前往xdadeveloper之类的粉丝网站以获取信息和映像。另一个选择是下载您设备的内核源代码,编译内核并自己制作引导映像。Linux在GPL下,因此您设备的制造商有义务发布他们使用的专用内核的源代码。
-NAM http://www.willpromo.com

刚刚确认所有文件夹都在那里了。但是,如问题所述,systrace仍然无法生成报告。这里使用的是Android M预览版2。 - Ewoks

1

你可能需要略微修改内核镜像(boot.img)。以下方法适用于我,仅供参考。

  1. 打开终端并输入:$adb shell
  2. (1) $su (2) $mount -t debugfs none /sys/kernel/debug。现在您应该能够在/sys/kernel/debug/下看到许多目录。(您可以cd到/sys/kernel/debug以确认此操作)
  3. 输入:$dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=/sdcard/boot.img 以从设备生成boot.img内核映像。
  4. 使用AndroidImageKitchen解包boot.img并在Ramdisk文件夹中找到default.prop。然后将ro.debuggable=0更改为ro.debuggable=1。重新打包boot.img并将其刷入设备。
  5. 设备启动后,在终端下输入:$adb root,可能会弹出类似于$restarting adbd as root的消息。断开USB连接并重新连接。
  6. cd到systrace文件夹,例如~/androidSDK/platform-tools/systrace,并使用:python systrace.py --time=10 -o mynewtrace.html sched gfx view wm
  7. 现在,您可以生成自己的systrace文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接