
我在Android AVD上安装了Ftrace并尝试使用Ftrace的功能,但它不起作用.
以下是我所做的清单:
>安装ubuntu 10.04 LTS
>安装基本工具,如androID sdk,toolchain,libs等
>下载金鱼仁
参考 – http://blog.markloiseau.com/2012/07/how-to-compile-the-android-goldfish-emulator-kernel/
>修改内核配置文件(打开Tracer选项)
>使用已使用跟踪器选项编译的自定义内核启动金鱼
>尝试使用Ftrace功能
>内核冻结了
这是日志:
\# mount -t deBUGfs nodev /sys/kernel/deBUG\# ls /sys/kernel/deBUGsched_featuresmmc0tracingbdi\# cd /sys/kernel/deBUG/tracing\# lseventsset_eventavailable_eventsprintk_formatsper_cpuoptionssaved_cmdlinestrace_markerbuffer_size_kbtrace_pipeREADMEtracing_threshtracing_max_latencycurrent_traceravailable_tracerstracetracing_cpumasktrace_optionstracing_enabledtracing_onset_ftrace_pID\# cat available_tracersfunction_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;
“回声功能”> current_tracer
祝好运.
总结以上是内存溢出为你收集整理的在开启功能跟踪时Ftrace在android冻结,有人帮我:(全部内容,希望文章能够帮你解决在开启功能跟踪时Ftrace在android冻结,有人帮我:(所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)