Debug
Dynamic Debug
Keywords
- Kernel Log
- pr_debug()/dev_dbg()/print_hex_dump_debug()/print_hex_dump_bytes()
- debugfs
- /sys/kernel/debug
- /sys/kernel/debug/dynamic_debug/control
- /proc/dynamic_debug/control
简介
Linux是被设计来允许你动态启动/停用内核代码,去获取额外的内核信息;通过向<debugfs>/dynamic_debug/control
写入一些控制字符,便可以定义Dynamic Debug的行为。使用mount | grep debugfs
可以发现debugfs
的挂载点为/sys/kernel/debug
,所以控制文件路径为/sys/kernel/debug/dynamic_debug/control
。
另外还可以通过/proc/dynamic_control
查看Dynamic Debug的默认行为,通过以下命令查看默认不输出信息的配置。
sudo awk '$3 != "=_"' /proc/dynamic_debug/control | less
使用
$ echo "match-spec* flags-spec" > /sys/kernel/debug/dynamic_debug/control