2

我们有一个内核模块,它在断言失败的情况下使用 BUG()。该模块适用于 ARM 架构。通常,当使用 BUG() 时,寄存器和堆栈跟踪会打印在串行控制台上。然而,在某些地方,BUG() 不打印堆栈跟踪,控制台上看到的最后一行是断言宏中的 printk,然后系统挂起。

堆栈跟踪和寄存器未在控制台上打印的可能原因是什么?它是一个可以意外禁用的功能吗?

PS:在这个平台上,BUG()里面的崩溃是用*(int *)0 = 0;

4

0 回答 0