一.BUG BUG_ON
作用:
在内核调用可以用来方便标记bug,提供断言并输出信息。最常用的两个是BUG()和BUG_ON()。当被调用的时候,它们会引发oops,导致栈的回溯和错误信息的打印。为什么这些声明会导致 oops跟硬件的体系结构是相关的。大部分体系结构把BUG()和BUG_ON()定义成某种非法操作,这样自然会产生需要的oops。你可以把这些调用当作断言使用,想要断言某种情况不该发生 。
使用:
if (condition)
BUG();
或者使用更好的形式:
BUG_ON(condition);//只是在BUG基础上多层封存而已。
当提条件为真时,则触发系统crash,输出log,并重启。
BUG_ON(1); 条件为真输出log