這本書最主要內容是debugger工作原理的入門。看完之後我還是不會用SoftICE或OllyDBG或IDAPro ,因為這本書的內容不包括任何特定debugger的操作方法,它介紹的是debugger為了實現除錯的功能:像插入breakpoint、進行Step over step into或是對優化過的程式進行除錯等等必須進行哪些事情。比如進行step over其實是debugger不斷的對code進行patch,不斷插入和拿掉暫時性的breakpoint。或是程式經過優化以後,使用者想看的某個變數其實已經被compiler幹掉了,debugger此時要怎麼對使用者給交代etc.
雖然這本書已經成書十幾年,書中的cutting edge technology都已經變成standard甚至快過期的東西,但書上提到的debugger工作概念還是可以套到當下的軟體。書本最大的缺點就是缺乏細節和實作,什麼都只講大概。對於debugger工作「理論」有興趣的人應該算夠,但如果是要實際寫個debugger的話看這本書就不足了。
全文連結