昨天Linus关闭了Linux-2.6.26的merge window,并发布了Linux-2.6.26-rc1。其中大部分改动来自驱动,所以也许是Linus真的想让这个版本的内核多少有些特色,所以打破多少年来Linux自身不携带调试工具的惯例,首次引入了kgdb作为内建的源码级调试工具。
上面的话只是玩笑,Linus对于Linux代码的态度,还是极其严肃认真的,希望kgdb的引入不会让一部分开发人员懒惰起来,把找出bug的任务留给kgdb,而不再去仔细斟酌设计,把bug尽早消灭在根源处。还有一个相对不怎么重要,又必不可少的原因,就是被修整后的代码风格,Linus本人是如此评价的:“Which really turned out pretty small and clean, once people started putting their effort into making it so.”。其实,这句话的弦外之音是:以前的代码大而丑陋,就是因为大家没有花力气用心对待它。本人也一直认为,好的代码风格是保证软件质量的根本,因为好的代码风格,表示作者真的有花力气去review,逻辑清晰也就说明作者思路清晰而不混沌,代码的质量也就不言而寓了。
时间的原因,我也没有试内核里面的kgdb。