去年买了这本书一直没看,直到最近总算大致看完了。
这本书描述了windows调试器windbg的使用(第一部分),如何利用这个工具解决调试中遇到的问题,如栈破坏、堆破坏等(第二部分),以及一些高级话题,比如自己编写扩展调试命令(第三部分),我在调试过程中一直没有找到命令可以查看ansi格式的中文字符串,du只能查看unicode16格式的,所以自己写了个可以方便查看。在工程中实际用到的另一个东西是查看minidump文件,不知道什么原因,visualstudio2008在很多情况下查看的栈信息并不对,而windbg则没这问题
与visualstudio调试工具相比,windbg采用的不同的调试引擎,visualstudio调试功能其实也很强大,但是都是用户态的,有些东西不确定能不能查看,比如查看句柄之类的,还有内存泄露查看相关,这本书中则介绍了如何使用windbg查看内存堆,查看句柄等方法,visualstudio的优势是集成开发环境,使用起来更加方便,windbg则功能更加强大,但是不得不在文本编辑、调试器、编译器工具之间来回切换。对于我自己的项目开发,visualstudio的一个很大缺点是运行速度太慢了,可能是项目比较大的缘故。
想深入了解windows调试比较底层的知识(栈、堆、内存、各种windows内核对象),这本书+windbg帮助文件+google是很好的选择
代码相关
代码下载:前言示例代码种有网址
代码编译:
工具:下载WDK,其中包含一个完整