在设备上运行Android systrace

时间:2013-06-20 07:36:18

标签: android debugging tracing systrace

我无法运行名为systrace.pl的Android SDK工具,因为我收到如下错误:

error opening /sys/kernel/debug/tracing/options/overwrite: No such file or directory 

实际上/ sys / kernel / debug / tracing目录甚至不存在。

一项小小的研究显示我需要使用以下命令启用debugfs:

mount -o rw,remount -t debugfs none /sys/kernel/debug

之后运行mount表明debugfs正在运行:

#mount
...
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
...

我在开发者设置菜单中启用了跟踪(所有项目)。我正在三星Galaxy S3上使用库存ROM 4.1.1。

关于Android的systrace上有很多文章,但似乎没有解决在/ sys / kernel / debug / tracing中实际没有生成文件的问题......

3 个答案:

答案 0 :(得分:1)

查看this文档:

  

在Android 4.3及更高版本上进行追踪

     

在Android 4.3及更高版本的设备上运行跟踪:

Make sure the device is connected through a USB cable and is enabled for debugging.

我认为systrace必须在设备上运行,而不是在模拟器上运行。我在模拟器中遇到了同样的错误。

答案 1 :(得分:1)

回答了同样的问题:

Make Systrace work with 4.1.2 device on Mac

您的设备运行的内核看起来没有启用systrace,您需要将boot.img替换为支持systrace的内核。

答案 2 :(得分:0)

您无法访问自己选择的类别。

使用以下命令检查当前设备可以支持的所有类别。

$python systrace.py -l 

     gfx - Graphics
   input - Input
    view - View System
 webview - WebView
      wm - Window Manager
      am - Activity Manager
      sm - Sync Manager
   audio - Audio
   video - Video
  camera - Camera
     hal - Hardware Modules
     app - Application
     res - Resource Loading
  dalvik - Dalvik VM
      rs - RenderScript
  bionic - Bionic C Library
   power - Power Management

root并在运行上面的命令之前重新安装设备。

adb root
adb remount