2

我正在开发一个内核模块和一个用户空间应用程序来测试该模块。

问题是在测试期间我的系统挂起/冻结。

我在代码中放置了很多调试打印。

打印的最后一条消息就在我的用户空间应用程序中的linux select调用之前。select 是否会以某种方式冻结系统?

那么,我该如何调试问题出在哪里?问题出在用户空间应用程序还是内核模块上?

4

2 回答 2

3

正如 nm 所提到的,您的用户空间程序无法冻结 Linux,因此它是您的内核模块中的一个错误。调试它的最好方法是使用内核调试器,并找出你的模块做错了什么。

常见错误是模块传递给内核的未初始化指针或锁定问题,因此请仔细查看这些错误。

于 2012-05-16T19:25:58.977 回答
2

根据定义,用户空间程序不能冻结 Linux。内核中有一个错误。

于 2012-05-16T15:23:31.700 回答