Android AVD に Ftrace をインストールし、Ftrace の機能を使用しようとしましたが、機能しません。
以下は私がしたことのリストです:
- ubuntu 10.04 LTS をインストール
- Android SDK、ツールチェーン、ライブラリなどの必須ツールをインストールします
- 金魚カーネルの
参照をダウンロード - http://blog.markloiseau.com/2012/07/how-to-compile-the-android-goldfish-emulator-kernel/ - カーネル構成ファイルを変更します (トレーサー オプションをオンにします)。
- トレーサーオプション付きでコンパイルされたカスタムカーネルで金魚を起動します
- Ftrace 機能を使用しようとしました
- カーネルがフリーズする
これはログです:
\# 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*
上記のように、一部の機能はうまく機能します。しかし、重要な機能である追跡機能をオンにすると、システムがダウンします。
私は何をすべきか ?