内核中有许多部分,printf
可能会导致内核挂起(特别是在早期启动时)。 (另一方面,根据我的经验,在Linux启动的早期阶段printk
可能会出现同样的情况。它可能有很多原因,但有时候原因并不明显。您只需将printf
置于一个函数中,即在启动期间不会执行多次(或者至少只执行几次,而不是几百次)。它可能还有一些时间问题吗?
在代码中添加printf
会导致内核启动挂起的典型原因是什么?
就解决方案而言,您可以创建自己的数据结构并推送您的#34;堆栈跟踪"然后在某处打印出来。但找到合适的印刷点可能会有问题。是否有任何可能的政策适用于这种有问题的早期启动阶段?或者,每当遇到这样的问题时,我们注定要进行详细的逐步分析?