问题
I'm trying to use Android systrace tool with my galaxy S3 and I meet some problem seems to be the kernel problem.
I have follow the steps described in this post: Failed to use systrace in Jelly Bean
I'm able to "mount -t debugfs nodev /sys/kernel/debug", and here's the result of "mount" command:
255|root@android:/ # mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/userdata /data ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,journal_async_commit,data=ordered,noauto_da_alloc,discard 0 0
/dev/block/platform/msm_sdcc.1/by-name/cache /cache ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/persist /persist ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/block/platform/msm_sdcc.1/by-name/modem /firmware vfat ro,relatime,gid=1000,fmask=0006,dmask=0006,allow_utime=0020,codepage=cp437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
/dev/block/platform/msm_sdcc.1/by-name/efs /efs ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,data=ordered 0 0
/dev/fuse /storage/sdcard0 fuse rw,nosuid,nodev,noexec,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
nodev /sys/kernel/debug debugfs rw,relatime 0 0
So I guess debugfs is mounted to the system. However, I couldn't find /sys/kernel/debug/tracing directory where ftrace is supposed to lies in. So here's the errors I got when I use "atrace" command in adb shell:
root@android:/ # atrace
error opening /sys/kernel/debug/tracing/options/overwrite: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/sched/sched_switch/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/power/cpu_frequency/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/power/cpu_idle/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/buffer_size_kb: No such file or directory (2)
error opening /sys/kernel/debug/tracing/trace_clock: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/workqueue/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_enter/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_exit/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/block/block_rq_issue/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/block/block_rq_complete/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/tracing_on: No such file or directory (2)
error: unable to start trace
error opening /sys/kernel/debug/tracing/tracing_on: No such file or directory (2)
error opening /sys/kernel/debug/tracing/options/overwrite: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/sched/sched_switch/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/sched/sched_wakeup/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/power/cpu_frequency/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/trace_clock: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/workqueue/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_enter/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/ext4/ext4_sync_file_exit/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/block/block_rq_issue/enable: No such file or directory (2)
error opening /sys/kernel/debug/tracing/events/block/block_rq_complete/enable: No such file or directory (2)
unable to start tracing
error opening /sys/kernel/debug/tracing/buffer_size_kb: No such file or directory (2)
I've glanced several posts on stackoverflow, in this post (Can't use Android shell atrace command because of write access) an answer suggest to recompile the kernel. DO we really have to do that to use the systrace tool?
Also an answer in this post (Unable to run systrace tool on android emulator) mentioned Samsung GS3 can actually use systrace. I'm wondering if I have been doing something wrong here.
来源:https://stackoverflow.com/questions/17887754/systrace-no-sys-kernel-debug-tracing-directory-on-android-4-1-1galaxy-s3-i747