当打开函数跟踪时,Android 上的 Ftrace 冻结,有人帮助我:(

2024-03-08

我已经在android AVD上安装了Ftrace并尝试使用Ftrace的功能,但它不起作用。

下面是我所做的事情的列表:

  1. 安装 ubuntu 10.04 LTS
  2. 安装必要的工具,如android sdk、工具链、库等
  3. 下载金鱼内核 参考-http://blog.markloiseau.com/2012/07/how-to-compile-the-android-goldfish-emulator-kernel/ http://blog.markloiseau.com/2012/07/how-to-compile-the-android-goldfish-emulator-kernel/罢工>
  4. 修改内核配置文件(打开Tracer选项)
  5. 使用已使用跟踪器选项编译的自定义内核启动 goldfish
  6. 尝试使用Ftrace功能
  7. 内核冻结

这是日志:

\# mount -t debugfs nodev /sys/kernel/debug
\# ls /sys/kernel/debug
sched_features
mmc0
tracing
bdi

\# cd /sys/kernel/debug/tracing
\# ls
events
set_event
available_events
printk_formats
per_cpu
options
saved_cmdlines
trace_marker
buffer_size_kb
trace_pipe
README
tracing_thresh
tracing_max_latency
current_tracer
available_tracers
trace
tracing_cpumask
trace_options
tracing_enabled
tracing_on
set_ftrace_pid

\# cat available_tracers
function_graph function sched_switch nop

\# cat current_tracer 
nop

\# echo sched_switch > current_tracer 
\# cat current_tracer 
sched_switch

\# cat trace | /data/busybox head -10
\# tracer: sched_switch
\#
\#           TASK-PID    CPU#    TIMESTAMP  FUNCTION
\#              | |       |          |         |
        bash-258   [000]   490.261240:    258:120:R   + [000]     4:115:S events/0
        bash-258   [000]   490.262087:    258:120:S ==> [000]    45:120:R adbd
        adbd-45    [000]   490.262318:     45:120:S ==> [000]     4:115:R events/0
    events/0-4     [000]   490.262457:      4:115:R   + [000]    43:120:S qemud
    events/0-4     [000]   490.262492:      4:115:S ==> [000]    43:120:R qemud
       qemud-43    [000]   490.262643:     43:120:R   + [000]   109:112:S er$SensorThread

\# echo function > current_tracer  *<--- this command occur freeze*

如上所示,一些功能运行良好。但当我打开跟踪功能(一项关键功能)时,系统出现故障。

我应该怎么办 ?


函数跟踪器可能冻结的原因有多种。它是一个非常侵入性的跟踪器(跟踪内核的几乎所有功能)。一个问题是它是否跟踪禁用中断等内部功能。这将导致它进入无限循环。现在,如果您运行的是 Android,我假设您有一个 ARM 设备。根据配置的不同,ARM 的一些低级函数可能需要标记为 notrace 以防止它们被跟踪。如果您启用了动态跟踪,请尝试仅跟踪单个函数,如果有效,您就知道问题出在不应该跟踪的内容上。要跟踪单个函数,只需:

回声计划> set_ftrace_filter; echo 函数 > current_tracer

祝你好运。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当打开函数跟踪时,Android 上的 Ftrace 冻结,有人帮助我:( 的相关文章

随机推荐

  • 使用另一个表的总和更新表中的列

    我对 SQL 比较陌生 无法解决以下问题 简而言之 我有两张桌子 我们可以调用第一个表people name Margaret Jim Lola 第二个是一个列表expenses与不同实体相关的不同类型 name type amount M
  • 插入时数据类型不匹配(代码 20)

    在我的项目中 我使用 sqlite 数据库来保存图片及其位置 我在尝试将数据插入数据库时 收到此错误 E SQLiteLog 20 statement aborts at 5 INSERT INTO PHOTO VALUES NULL da
  • 如何在emr上重启hadoop集群

    我在 Amazon Elastic MapReduce 上安装了 hadoop 每当我尝试重新启动集群时 都会收到以下错误 stop all sh no jobtracker to stop The authenticity of host
  • React-Native是单线程执行还是多线程执行?

    我想通过示例了解 React Native 是否支持单线程或多线程方法 它是单线程的 请参考此链接 我想这会消除你所有的疑虑 https react native canny io feature requests p parallel m
  • 切换 Git 分支而不检出文件

    Git 是否可以在不检查所有文件的情况下切换到另一个分支 切换分支后 我需要删除所有文件 重新生成它们 提交并切换回来 所以检查文件只是浪费时间 大约有 14 000 个文件 这是一个很长的操作 为了让一切都清楚 我需要上传所有这些文档 h
  • Azure B2C Graph API - 强制用户在下次登录时更改密码[重复]

    这个问题在这里已经有答案了 我希望使用 graph api 来强制用户在下次登录时重置他 她的密码 如果我发送用户对象 ID 以及 forceChangePasswordNextLogin true我得到了成功的回复 但是 用户的帐户实际上
  • 如何在html5中浮动部分标签

    这可能是一个非常简单的问题 因此 如何漂浮 离开 section 标签 我尝试使用float left 但不起作用或者是否可以将标签与其内容垂直对齐 这是我的尝试 html div section h1 heyo h1 a href dro
  • as3 中的阿拉伯语文本

    如何使用as3从右到左显示阿拉伯文本 这段代码可以解决这个问题 import flash text AntiAliasType import flash text TextField import flash text TextFieldA
  • 总是在 Apache 中发送内容长度?

    我正在加载一个由 PHP 动态生成的特别大的 JSON 字符串 为了向用户提供一些反馈 我想显示下载进度 我已经弄清楚了代码 它对于静态内容 例如图像 JS 文件等 工作得很好 但是 它似乎不适用于动态文件 这是有道理的 因为动态文件没有可
  • 将 C# 委托转换为 f#

    如何将委托转换为 F 代表 delegate IntPtr HookProc int code IntPtr wParam IntPtr lParam Edited 我正在做的是使用 F 中的 C 托管 API 进行低级键盘挂钩 Code
  • 为什么 Spring Rest 服务在第一次请求时速度很慢?

    所以这个问题已经被问过几次了 但似乎没有人以可以帮助我的方式回答它 我目前正在为处理产品数据的简单应用程序制作后端 它甚至没有使用 JSP 只是一个普通的 Rest 后端 使用 Spring 的 RestController 问题 是 启动
  • 为什么在 C# 中经常看到“null!=variable”而不是“variable!=null”?

    在c 中 声明条件的顺序执行速度有什么区别吗 if null variable if variable null 最近以来 我经常看到第一个 因为我已经习惯了第二个 所以它引起了我的注意 如果没有区别 第一个的优点是什么 这是 C 语言的保
  • 蟒蛇龟太空入侵者的子弹没有击中入侵者

    一般来说 我对海龟和Python都很陌生 所以如果我的代码看起来很混乱 我深表歉意 我目前正在编写海龟版本的太空入侵者 我不明白为什么我的入侵者在击中海龟时没有死亡 该代码似乎与我能找到的所有其他太空入侵者海龟程序相同 任何帮助将不胜感激
  • 从支持 bean 重新加载页面

    在我的代码中 我正在扩展左框架中的树节点 该树节点是通过右框架中存在的导航链接选择的 它有效 但每次我单击右框架上的链接时 我都必须手动刷新右框架 我尝试使用 javascript 代码从支持 bean 重新加载页面 但它不起作用 谁能帮我
  • Matlab中的annotation()和text()

    我想知道有什么区别annotation and text Matlab 中的函数 在什么情况下 其中一个比另一个更受青睐 TEXT http www mathworks com access helpdesk help techdoc re
  • 如何将 git 存储库提交到 git 存储库(不是子模块)

    当我尝试将 git 存储库添加并提交到另一个 git 存储库时 git 会帮助将其放入子模块中 如果我want跟踪并提交对外部存储库中的嵌套存储库的更改 IE 我希望外部存储库跟踪嵌套存储库工作树及其 git 目录中的所有文件 这里的用例是
  • 在 bash 脚本中运行 ssh-agent

    我创建了文件 ssh start sh 其中包含 eval ssh agent s ssh add ssh id rsa 我正在运行它并有输出 Agent pid 1234 Identity added ssh id rsa ssh id
  • 在故事板中制作的容器视图不会以编程方式更改框架

    我有一个容器视图 property weak nonatomic IBOutlet UIView containerView 但是当我设置它的框架时它不会移动 这是我正在尝试的方法 void setFramesForCategories C
  • 无形:Generic.Aux

    我试图理解如何Generic作品 和TypeClass也 github wiki 上的示例和文档非常稀疏 是否有规范的博客文章 文档页面描述Generic and TypeClass详细地 具体来说 这两种方法有什么区别 def find1
  • 当打开函数跟踪时,Android 上的 Ftrace 冻结,有人帮助我:(

    我已经在android AVD上安装了Ftrace并尝试使用Ftrace的功能 但它不起作用 下面是我所做的事情的列表 安装 ubuntu 10 04 LTS 安装必要的工具 如android sdk 工具链 库等 下载金鱼内核 参考 ht