调试printf挂内核 - 可能的原因和解决方案?

时间:2016-06-18 14:30:28

标签: arm kernel freebsd porting

内核中有许多部分,printf可能会导致内核挂起(特别是在早期启动时)。 (另一方面,根据我的经验,在Linux启动的早期阶段printk可能会出现同样的情况。它可能有很多原因,但有时候原因并不明显。您只需将printf置于一个函数中,即在启动期间不会执行多次(或者至少只执行几次,而不是几百次)。它可能还有一些时间问题吗?

在代码中添加printf会导致内核启动挂起的典型原因是什么?

就解决方案而言,您可以创建自己的数据结构并推送您的#34;堆栈跟踪"然后在某处打印出来。但找到合适的印刷点可能会有问题。是否有任何可能的政策适用于这种有问题的早期启动阶段?或者,每当遇到这样的问题时,我们注定要进行详细的逐步分析?

0 个答案:

没有答案