![如何调查 Linux 内核对我的硬件所做的事情?](https://linux22.com/image/1250948/%E5%A6%82%E4%BD%95%E8%B0%83%E6%9F%A5%20Linux%20%E5%86%85%E6%A0%B8%E5%AF%B9%E6%88%91%E7%9A%84%E7%A1%AC%E4%BB%B6%E6%89%80%E5%81%9A%E7%9A%84%E4%BA%8B%E6%83%85%EF%BC%9F.png)
希望看到内核如何访问某些 PCI 声卡(如图所示)。例如,设备 I/O、设备寄存器、函数调用(包括对 DMA 的调用、不需要的数据 - 可以从来源猜测)。想要获取日志,<...阅读它,编写一些脚本来制作 Graphviz 图表>,
我可以设置虚拟机进行测试,已经指出了 ALSA 代码中需要注意的几件事,但仍然不知道如何实时跟踪整个内容。
对我来说,理想的调试模式是进入调试模式、加载模块、调用 aplay 将数据发送到声卡、卸载模块、退出调试模式、将调试日志转储到文件......任何类型的建议都可以。
答案1
systemtap 和源代码。源代码和 systemtap。