debugfs demo
挂载点
# cat /etc/fstab
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
var /dev tmpfs defaults 0 0
ramfs /dev ramfs defaults 0 0
debugfs /sys/kernel/debug debugfs defaults 0 0
想实现一个功能,将关心的数据映射到用户空间,发现 proc 和 sys 已经做了这件事,但是目的不同,
proc 是为了反映系统及进程的状态信息
sysfs 是用于linux设备驱动模型
而 debugfs 的目的是将调试信息映射到用户空间
所以单独做了一个文件系统,一般挂载到 /sys/kernel/debug 下面,当然你也可以挂载到/debug 下面。
debugfs 在内核空间的实现及 api 和 sysfs 是不一样的
/sys/kernel 下面都是 内核可调参数
其实debug 文件系统和 sys proc文件系统一样,都是内存文件系统
哪些调试信息:
tracing : 动态跟踪技术被映射到用户空间,就放到了 /sys/kernel/debug/tracing 目录
调试信息的动作:
选择调试信息
开关调试信息
记录调试信息
分析调试信息
/sys/kernel/debug # ls
bdi kprobes suspend_stats
clk memblock tracing
dynamic_debug mmc0 ubi
extfrag pm_qos ubifs
fault_around_bytes regmap usb
gpio regulator virtio-ports
hid sleep_time wakeup_sources