内核中自带的内存调试方法CONFIG_DEBUG_SLAB
CONFIG_DEBUG_SLAB,
这是非常重要的选项,选中它则打开内核内存分配函数中的多个类型的检查;
打开该检查后,就可以检测许多内存溢出及忘记初始化的错误,在将已分配内存返回给调用者之前,内核会把其中的每个字节设置为0Xa5,而在释放后将其设置为0X6b。
如果内核开发者在自己的程序输出中或者oops信息中看到上述字符“毒剂”字符,则可以轻松判断出问题所在。
在打开该调试选项后,内核还会在每个已分配内存对象的前面或者后面放置一些特殊的防护值,这样,当这些防护值发生变化时,内核就可以知道有些代码超出了内存的正常访问范围,并提升。
除此之外,还可以检查更多的隐蔽错误。
posted on 2012-07-07 14:06 YoungerChina 阅读(739) 评论(0) 编辑 收藏 举报