dynamic debug 使用

这篇博客介绍了如何在Linux系统中使用debugfs挂载来动态控制内核调试输出。通过修改/sys/kernel/debug/dynamic_debug/control文件,可以打开或关闭特定模块、函数、文件甚至行号的调试信息。例如,可以开启NFS服务模块、svc_process函数、svcsock.c文件或特定行的调试,也可以根据文件路径或特定格式进行调试。关闭调试只需将+p改为-p。这为内核调试提供了灵活的选择。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

挂载分区


mount -t debugfs none /sys/kernel/debug
debugfs_dir 为挂载的目录,可自定义,这里以/sys/kernel/debug为例

使用


可以按需要,选定 模块,文件,行号,格式,选择调试输出
同时也支持打印行号,模块名,等

打开调试


// 提供NFS服务模块所有的信息

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

// 提供函数svc_process()的所有信息

echo -n ‘func svc_process +p’ > /sys/kernel/debug/dynamic_debug/control

// 提供文件svcsock.c所有信息

echo -n ‘file svcsock.c +p’ > /sys/kernel/debug/dynamic_debug/control

// 提供文件 svcsock.c 1603行信息

echo -n ‘file svcsock.c line 1603 +p’ > /sys/kernel/debug/dynamic_debug/control

// 提供NFS调用的所有以READ开始的信息.

echo -n ‘format “nfsd: READ” +p’ > /sys/kernel/debug/dynamic_debug/control

// 打开文件路径中包含“mtd”的所有文件的调试信息

echo -n ‘file *mtd* +p’ > /sys/kernel/debug/dynamic_debug/control

关闭调试


和打开调试类似,只需要将+p 改为-p ,即可
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值