laoar
对
Debug Hacks中文版
的书评
发表时间:2011-12-03 22:12:39
如果把这本书定位为linux下的初级入门调试书籍,或者linux开发的入门书籍,还是值得推荐的。
这本书细致的讲解了linux下常用调测工具,比如objdump,每个选项都讲解的很细致,这也充分体现了日本人的严谨之处。
linux下的调测,我觉得,可以分为功能调试和性能调试这两块。功能调试是为解决程序自身的bug,这是我们主要使用的方面;性能调试则是用来辅助优化程序以提高软件代码性能的。
功能调试可以分为内核态调试和用户态调试,一般的linux开发者都会接触到用户态调试。典型的用户态调试工具有,gdb、objdump、gprof、strace、backtrace、diff等工具,这本书基本都有所涉及。内核态调试手段有,proc、sys文件系统,menucongfig里的kernel hacking的各个tracer选项,kgdb,kprobe,kmemcheck、kmemleak,dumpstack,systemtap,printk等,这本书也稍有讲解。
性能调试工具主要是嵌入式开发者使用,这类工具有,oprofile、valgrind、perf等,这本书讲了valgrind。
总体而言,这本书对于初级linux开发者会有莫大帮助,而对于中高级开发者则意义不大。因为,这本书只是讲解了基本的使用方法,而没有讲解它的原理。比如,gdb的本质是ptrace系统调用,attach或fork子进程这两方面;再比如,kprobe的本质是插装,它用自己的指令来替换被调程序的指令,等等。
另外,我对于内核的错误注入比较感兴趣,这在内核开发社区里应该使用的比较多,我还没有使用过。
ps:由于这篇评论是躺在床上使用iphone写的,所以排版上很糟糕,内容也未细细琢磨,如有错误,还望批评指正,共同进步。