1

我目前正在尝试调试我的一个内核模块的问题,这会导致整个系统在启动期间不时(大约每 250 次迭代)冻结。实际上它并不是真正的启动过程,因为该模块是由用户空间程序udev调用的,但它仍然非常耗时并且容易出现死锁和其他坏东西。

问题是我在加载时无法从模块中获取日志,因为当模块卡住时 syslogd 仍然死机。我在 syslog 或消息中得到的只是引导过程的前几行。

我有两个想法如何调试,但我不知道该怎么做:

  1. 网络控制台。应该很简单,但我不知道如何在我的模块之前强制加载所需的配置。
  2. USB调试电缆。我按照此处所述配置了内核,但无法弄清楚要附加的确切设备号earlyprintk=dbgp以及我需要的端口是哪个端口。

因此,如果您对上述选项之一有任何经验,或者您有任何其他想法,我会非常感谢任何提示。

技术数据:内核 3.1。Ubuntu 10.10。grub2. 调试电缆是 PLX 的 NetChip USB2.0。该机器是戴尔E6410笔记本电脑。

提前谢谢你,
大卫

4

0 回答 0