Dynamic Debugging in Linux Kernel(1) --- How To...

利用linux kernel中内建的pr_dbgdev_dbg来进行调试,避免不断的内核开发上比较费时的edit/rebuild/reboot操作。通过修改/sys/kernel/debug/dynamic_debug下的control文件,可以控制打印输出。可选功能如下

 

1.       某个模块中的pr_dbgdev_dbg是否打印。

2.       某个文件中的pr_dbgdev_dbg是都打印。

3.       某个函数中的pr_dbgdev_dbg是否打印。

4.       某些行中的pr_dbgdev_dbg是否打印。

5.       符合某种format的格式的打印。

 

可以利用以下步骤开启这个功能。

1.       修改.config文件

CONFIG_DYNAMIC_DEBUG=y

CONIFG_DEBUG_FS=y

CONFIG_[SUBSYSTEM]_VERBOSE_PRINTK=y

 (eg. CONFIG_SND_VERBOSE_PRINTK=y)

CONFIG_[SUBSYSTEM]_DEBUG=y

 (eg. CONFIG_SND_DEBUG=y)

 

2.    重新编译kernel

 

3.    启动后,将debug filesystem挂载到某个目录下。

mount -t debugfs none /sys/kernel/debug

 

4.       修改/sys/kernel/debug/dynamic_debug目录下的controlenalbe或者disable某些输出。

(参考: kernel_imx/Documentation/dynamic-debug-howto.txt

eg. echo 'file sound/soc/codecs/wm8994.c +p' > control来打开此文件中的pr_dbgdev_dbg输出, echo 'file sound/soc/codecs/wm8994.c -p' > control来关闭这两个输出)

 

5.       http://lwn.net/Articles/434833/中说可以下bootargs中添加ddebug_query参数,使boot time时就可以用dynamic debugging,但是我试了下,不行。

 

 

 

 

 

 

 

参考: kernel_imx/Documentation/dynamic-debug-howto.txt

                   http://lwn.net/Articles/434833/

 

转载于:https://my.oschina.net/u/158589/blog/37056

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值