摘要: 内核中有多项用于调试的功能,但这些功能会造成额外输出,并导致性能下降,因此发行版本厂商通过都禁止发行版内核中的这些功能。但作为一名内核开发者,调试需求具有更高的优先级,因此应该构造并安装自己的内核,并打开这些调试选项。一、内核中的调试选项CONFIG_DEBUG_KERNELThis option just makes other debugging options available; it should be turned on but does not, by itself, enable any features.CONFIG_DEBUG_SLABThis crucial option 阅读全文
posted @ 2013-11-23 22:08 葫芦娃Vs奥特曼 阅读(610) 评论(0) 推荐(0)
摘要: setjmp和longjmp是C语言独有的,只有将它们结合起来使用,才能达到程序控制流有效转移的目的,按照程序员的预先设计的意图,去实现对程序中可能出现的异常进行集中处理。先来看一下这两个函数的定义吧:setjmp和longjmp的函数原型在setjmp.h中函数原型:int setjmp(jmp_buf envbuf);setjmp函数用缓冲区envbuf保存系统堆栈的内容,以便后续的longjmp函数使用。setjmp函数初次启用时返回0值。void longjmp(jmp_buf envbuf, int val);longjmp函数中的参数envbuf是由setjmp函数所保存的堆栈环境 阅读全文
posted @ 2013-11-23 21:47 葫芦娃Vs奥特曼 阅读(166) 评论(0) 推荐(0)