内核调试是内核开发实践中不可或缺的一环,尽可能写出正确的代码和快速解决代码中存在的问题同样重要。尤其是内核开发的特殊性,使得内核代码调试的复杂度要比应用程序高出很多。Solaris的Mdb和DTrace为内核开发人员提供了强大的调试功能,而且让内核的可观测性达到的其它操作系统前所未有的高度。
写这个幻灯片的时候,Solaris的DTrace已经release了很多年,成熟而又稳定。而Linux的Systemtap还问题重重,仍在主版本之外。DTtrace也许并不是最早的idea, 但它优雅的实现和其中包含的创新性,无可非议。目前DTrace已经被移植到FreeBSD,Mac OS 及Linux(注1)上。
这个幻灯片主要总结了Mdb和DTrace的基本用法,但由于是培训讲义,所以内容未免不够详尽。关于Mdb和DTrace的书籍和参考资料列在了幻灯片的最后一节,读者可以进一步学习。