如何在Linux内核中启用动态调试



我已经在内核配置文件中启用了CONFIG_DYNAMIC_DEBUG标志。当我在系统中启动时,我可以装载/sys/kernel/debug,并且还有dynamic_debug/control文件。

但当我发出任何类似的命令时

echo -n 'module nfsd +p' > <debugfs>/dynamic_debug/control

它在CCD_ 4或CCD_。我做错了什么?

您设置好日志级别了吗?

echo 8 > /proc/sys/kernel/printk

试试这个:

echo -n 'module <module name/folder> +p' > <debugfs>/dynamic_debug/control

<debugfs>只是文档中的占位符。无论出于何种原因,文档都没有提到安装debugfs的实际路径。您可以使用mount | grep debugfs找到路径。

例如,在我的系统上:

$ mount | grep debug
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
$ mount | grep debug | awk '{print $3}'
/sys/kernel/debug

我怀疑它会被安装到其他系统的另一条路径上,但我可能错了。

这个命令/路径应该适用于您:

echo -n 'module nfsd +p' > /sys/kernel/debug/dynamic_debug/control

最新更新