如何在Linux内核的dynamic_debug信息中获取“%d”变量的值?

时间:2011-07-21 11:55:05

标签: linux-kernel linux-device-driver kernel kernel-module

我在我自己定制的Linux内核中启用了config_dynamic_debug=y,并按照内核源代码附带的dynamic_debug文档,运行以下命令启用蓝牙子系统中调试信息的输出:

echo -n 'file net/bluetooth/bnep/core.c line 722 +p' > /sys/kernel/debug/dynamic_debug/control

表示将记录文件net/bluetooth/bnep/core.c的第772行中的调试信息。

加载bnep.ko模块后,我检查了/sys/kernel/debug/dynamic_debug/control的输出,调试信息就在那里。

但大多数看起来像:

> net/bluetooth/bnep/core.c:422 [bnep]bnep_tx_frame - "skb %p dev %p type %d\012"

我真的想知道%p%d所代表的价值,但我不知道该怎么做。

非常感谢!

1 个答案:

答案 0 :(得分:2)

您已启用该调试语句,这是从/sys/kernel/debug/dynamic_debug/control读取的信息。

从现在开始,该调试消息将被发送到正常的内核日志,您可以使用dmesg和/或您的syslog守护程序(通常会记录到/var/log/messages或{{}来查看该日志。 1}},或类似的路径。)