我已经用 linux slob 分配器
配置了内核来实现最佳匹配算法。我构建并安装了内核镜像,以便下次可以从中启动。现在,当我尝试启动这个内核时,它会无限期地挂起,光标甚至不会闪烁。光标挂断前打印如下信息:
[0.000325] pid_max: default: 32768 minimum: 301
[0.001461] Security Framework initialized
[0.002108] AppArmor: AppArmor initialized
在此消息之后,光标无限期地挂起。我想知道一些内核调试技巧,这些技巧可以帮助我解决问题或阅读一些好书。
我还配置了 kdb
但不知道如何在这种情况下使用它。任何帮助都适用!!
其他详细信息:
我修改了 slob_page_alloc
函数来实现 best-fit
算法,该算法又被 slob_alloc
函数调用。我正在使用 v3.6.2
最佳答案
基本上,您需要对最适合算法代码调用的外部例程进行 stub (或模拟),以便将最适合代码放入测试程序中。然后使用某种 C 单元测试套件和 C 覆盖工具来帮助确保您已经仔细测试了代码的所有分支和所有状态。 (不幸的是,目前我对此类工具没有任何建议。)
关于linux - 内核在启动时无限期挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13198218/