【问题标题】:Can't use Android shell atrace command because of write access由于写入权限,无法使用 Android shell atrace 命令
【发布时间】:2012-11-11 00:56:31
【问题描述】:

如果我在 emulatoradb shell 中尝试 atrace 工具:

# atrace
atrace
error opening /sys/kernel/debug/tracing/options/overwrite: No such file or direc
tory (2)

如果我这样做:

#mount -t debugfs nodev /sys/kernel/debug
#mount: No such file or directory

如果我尝试制作文件夹:

#mkdir -p /sys/kernel/debug
#mkdir failed for /sys/kernel/debug/, No such file or directory

显然,即使我是 root,我也没有写入权限....

编辑:

我可以在 /data/ 路径中创建文件夹,但不能在 /sys/ 路径中创建文件夹...

有没有人可以在模拟器环境的/sys/路径下创建文件夹?

有什么帮助吗?

谢谢!

【问题讨论】:

  • 我怀疑 atrace 需要一个在模拟器构建中不可用的内核选项。 “没有这样的文件或目录”应该真的意味着不存在。 “权限被拒绝”是需要权限的情况。您也不能在 sys-fs 中创建目录。它是内核提供的接口,不是“真正的”文件系统
  • 谢谢!我在 /data 文件夹中创建了一些文件夹,但我无法在 /sys 文件夹中创建文件夹...你知道这是“模拟器配置”问题还是我需要重新编译 Android 的平台代码才能拥有这个选项可用?
  • 是的,是配置问题。 atrace 似乎适用于设备制造商、Linux 内核开发人员……但不是应用程序开发人员。所以模拟器中没有启用atrace支持。您需要重新编译平台,特别是内核。内核可以使用不同的配置进行编译,您需要启用一些调试选项。 lwn.net/Articles/365835 很相似
  • 显示“mount”命令的输出。

标签: android shell adb


【解决方案1】:

在提供的模拟器中这是不可能的,因为 Linux 内核编译是在没有激活 TRACING OPTIONS 的情况下完成的。

为了能够,必须重新编译Linux内核激活所需的选项。

步骤可以在这里找到:

http://www.linuxforu.com/2010/11/kernel-tracing-with-ftrace-part-1/

附:感谢@zapl 和其他相关人员。

问候,

【讨论】:

    猜你喜欢
    • 2014-05-30
    • 2012-09-11
    • 1970-01-01
    • 2012-07-06
    • 2017-04-03
    • 2021-10-24
    • 2021-03-26
    • 2017-04-17
    • 1970-01-01
    相关资源
    最近更新 更多