From: 内核&调试调试
1、什么是 KDB?
kdb是一个Linux系统的内核调试器,它是由SGI公司开发的遵循GPL许可证的开放源码调试工具。kdb嵌入在Linux内核中,为内核&&驱动程序员提供调试手段。它适合于调试内核空间的程序代码,譬如进行设备驱动程序调试,内核模块的调试等。
2、为什么要用KDB?
Bug处处有,不同人的编码思维,以及架构思维!总是会导致Bug的出现,Bug就像小强一样,永远杀不完!也许今天你的架构能支持当前业务,可是明天突然流量暴增,你那套架构就已经是Bug了!
对程序员而言,Bug远远没有到达上述那种高深的地步,架构有架构师!程序员往往只需要保证我们自己的那一亩三分田地的代码是OK的!不管业务需求,不管风吹雨打!有的程序员每天都在push代码,可是正儿八斤高效的代码极其少,有的程序员甚至可笑的说,我怎么着也是写过xx万行代码的大牛!笑而不语。
在我看来,高效代码就是结合需求在不断的压力测试中慢慢改进,这样的代码才是优秀代码!还有一个就是判断一个程序员是否算是程序员的时候,就应该问他解决过的Bug,以及解决Bug的途径!没错,调试工具这里就显得很重要~ 一个好的程序员必是一个好的调试工程师!同样的问题,好的程序员往往10分钟就能搞定,而Low的程序员只会说:”这不可能啊、我的代码没问题啊、见鬼了、我的代码肯定没问题”之类的话!
KDB做为一款内核级别的调试器,对于内核程序员 && 驱动程序员的帮助非常大,KDB的主要优点包括它允许进行内存地址和寄存器修改,并且可以设置堆栈,我本人最喜欢的一个功能就是反汇编了。关于KDB一些使用心得我也会在后续慢慢写出来!
3、开始使用KDB
内核在3.x中已经默认自带KDB