linux 内核驱动程序调试日志

linux kernel driver debug log

我正在为一个设备编写一个 Linux 内核驱动程序,该设备有很多进展以及来自用户 space 的大量交互。为了对这些交互进行调试和故障排除,我将它们存储在驱动程序的数据数组中,并且需要通过某种文件节点将这些数据导出到 user-space。如果我可以导出二进制数据并让 user-space 将其解析为人类可读的文本,那就太好了,但其他相关方的要求是在驱动程序中完成此操作,这样人们就可以 cat从命令行访问文件节点并获得可读的内容。

目前我只是在使用一个 sysfs 节点,但我很确定这是错误的地方,我需要能够写出超过 PAGE_SIZE 的数据。我应该为这类事情使用什么正确的文件系统对象?我查看了 debugfs,但它似乎是针对更具体的事情,就像 sysfs 一样。

我认为最好的方法是使用 debugfs,因为它只是为了调试目的而开发的,只有拥有您可以决定的必要权限的人才能访问它。

所以继续使用 debugfs