本文转载自Jim的环境下如何显示的输出

在Linux中,驱动程序工作在内核态,内核与用户之间的交互是通过控制台dev/实现的,控制台与终端的概念对于我们“年轻人”来说是容易混淆的,我本人到现在也不是彻底搞明白(菜鸟啊)。

内核打印函数的输出被定向到文件/dev/,但是在环境中,我们使用的通常是虚拟终端/dev/pts/n。其中n为虚拟终端的编号,如果你当前打开了第3个虚拟终端,那么第3个终端的对应的设备文件即为 /dev/pts/3。可以通过命令tty查看当前终端所对应的设备文件。

在弄清楚了上述概念之后,就不难明白为什么平时在图形界面终端(虚拟终端)下调试驱动程序时的输出都看不到了。

有两种比较简单的方法可以查看驱动的输出信息,如下所示:

方法一:dmesg命令

说明:采用该方法的缺点是需要每次手动执行命令查看消息。

方法二:cat /proc/kmsg &

说明:别忘记在命令参数最后加个与号&让cat命令工作在后台。采用该方法的优点是只要驱动有消息输出马上就会在终端看到。

注:此处只给出解决方法(策略)而非原理(机制)。

printk不加换行_printk_printk打印级别

———END———
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,永久会员只需109元,全站资源免费下载 点击查看详情
站 长 微 信: nanadh666

声明:1、本内容转载于网络,版权归原作者所有!2、本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。3、本内容若侵犯到你的版权利益,请联系我们,会尽快给予删除处理!