BUG 和 BUG_ON
来源:互联网 发布:手机网络个人理财产品 编辑:程序博客网 时间:2024/06/05 10:28
调试的时候很有用的东西:dump_stack 使用前,先在内核配置中把kernel debug选上:make menuconfig:kernel hacking-->kernel debug 作用:一些内核调用可以用来方便标记bug,提供断言并输出信息。最常用的两个是BUG()和BUG_ON()。当被调用的时候,它们会引发oops,导致栈的回溯和错误信息的打印。为什么这些声明会导致 oops跟硬件的体系结构是相关的。大部分体系结构把BUG()和BUG_ON()定义成某种非法操作,这样自然会产生需要的oops。你可以把这些调用当作断言使用,想要断言某种情况不该发生 :if (bad_thing)BUG();或者使用更好的形式:BUG_ON(bad_thing);//BUG_ON是一个函数接口,一般开发人员自己实现相关函数内容,一般用来判断内核是否出现问题,如果参数为真的话,证明内核出现了//bug,打印BUG信息,然后调用PANIC函数,让系统panic。可以用panic()引发更严重的错误。调用panic()不但会打印错误消息而且还会挂起整个系统。显然,你只应该在极端恶劣的情况下使用它:if (terrible_thing) panic("foo is %ld/n", foo); 有些时候,你只是需要在终端上打印一下栈的回溯信息来帮助你测试。此时可以使用dump_stack()。它只在终端上打印寄存器上下文和函数的跟踪线索:if (!debug_check) { printk(KERN_DEBUG "provide some information.../n"); dump_stack();}
- BUG 和 BUG_ON
- BUG 和 BUG_ON
- BUG 和 BUG_ON
- BUG 和BUG_ON
- linux内核中的BUG 和 BUG_ON
- linux内核中的BUG 和 BUG_ON
- BUG BUG_ON dump_stack
- panic 和 bug_on
- linux panic 和 bug_on
- panic和bug_on
- linux panic 和 bug_on
- BUG_ON()
- BUG_ON
- linux中BUG_ON和WARN_ON解析
- BUG_ON()和WARN_ON()的用法
- Linux内核调试之使用BUG_ON 和dump_stack
- BUG_ON && WARN_ON
- bug和bug修复
- request.getParameterNames()和request.getParameterValues()
- 雁过也,月满西楼
- Something
- Xcode 4.4中LLVM compiler 4.0带来的Objective-C新语法特性
- HDOJ4411-费用流
- BUG 和 BUG_ON
- windows qtcreator,vs2008 编译QT程序 的配置
- java小练习(一个求任意整数降序数的程序)
- 我指间的刺青是对你的誓言
- 二叉树遍历 非递归 C++实现
- 9.25号实验课要求已经放在课件下载中。请提前作一下。
- oracle数据库出现maximum open cursors exceed问题
- The 37th ACM/ICPC Asia Regional HangZhou Site Online Contest - F
- MongoDB2.2.0新特性之Aggregation Framework