《Windows高级调试》主要讲解Windows高级调试思想和工具,并涉及一些高级调试主题。《Windows高级调试》内容主要包括:工具简介、调试器简介、调试器揭密、符号文件与源文件的管理、栈内存破坏、堆内存破坏、安全、进程间通信、资源泄漏、同步、编写定制的调试扩展、64位调试、事后调试、WindowsVista基础以及应用程序验证器的测试设置等。《Windows高级调试》内容详实、条理清楚。《Windows高级调试》适合Windows开发人员、Windows测试人员和Windows技术支持人员等参考。对Windows开发人员来说,很少有任务比调试程序更具挑战性和重要性。然而,人们却往往很难获得一些关干调试技术的可靠而又实用的信息。现在,两位来自Microsoft的系统级开发工程师,带着他们15年的实践经验,为读者全面而系统地揭示了Windows调试技术。
MarioHewardt和DanielPravat介绍了在应用程序的整个生命周期内需要使用到的各种调试技术,并且展示了如何有效地使用Microsoft提供的强大调试器和第三方解决方案。
为了使你尽快地找到切实可行的解决方案,《Windows高级调试》内容围绕真实的调试场景来组织,并且通过代码示例来讲解和分析专业开发人员所要面对的各种调试问题。作者还介绍了一些新兴的调试主题,例如Windows操作系统的核心概念、安全。WindowsVista以及64位调试等,每个主题都包含细致入微的阐述。
读完《Windows高级调试》,你将能够
掌握当今最强大的Windows调试工具,包括NTSD、CDB、WinDbg、KD以及ADPlus等。
对没有针对调试进行优化的代码进行调试。
理解调试器的”内幕”并高效地管理符号文件和源文件。
调试与栈和堆相关的复杂内存破坏问题。
解决复杂的安全问题。
调试跨进程问题:身份跟踪,RPC调试扩展,以及通过Wireshark来跟踪IPC。
找出并修复资源泄漏,例如内存泄漏和句柄泄漏。
调试常见的线程同步问题。
学习如何编写定制的调试扩展。
通过故障转储来执行”事后调试”,并与Windows错误报告机制集成起来。
通过DebugDiag和调试命令Analyze来自动化调试过程。
无论你是系统层开发人员,还是应用层开发人员,《Windows高级调试》都将使你深入理解Windows中的各种调试技术。《Windows高级调试》或许在下一个项目中就可以帮你节省数周的工作时间。
展开
——Bob Wilton,资深工程师就职于Microsoft公司中CPR(Critical Problem Resolution)小组
“我有幸与本书的作者在超高要求系统(Extremely Demanding System)领域共事了8年多的时间。本书包含了非常有价值的知识,我们曾经感叹,要是在项目开始之前就知道这些知识该有多好——这位调试大师或许只有2月29号才会告诉你这些知识,因为他只有在这一天的下午才有空;只有亲自去构建和调试那些复杂的系统项目而不是道听途说,才能获得这些宝贵的知识。在大多数书籍中,一些高级主题总是作为‘留给读者的练习’或者‘请参阅其他高级参考书’,而这些主题似乎从来就没有出现过。本书属于那些‘其他高级参考书’。要买就买两本吧,因为你将经常要借一本给其他人。
——Raymond McCollum,架构师就职于Microsoft前沿安全产品(Forefront Security Product)部门
“由Microsoft的Mario和Daniel合著的这本书是一本非常棒的参考书,面向的读者包括中级调试人员和高级调试人员。本书通过对一些示例进行深入讲解来阐述如何调试各种错综复杂的问题,例如栈破坏和堆破坏等,这使得本书与目前市面上讲解Win32软件调试的众多书籍相比显得卓尔不群。本书的实用性非常高,包含了丰富的调试技巧和策略。”
——Kinshuman,开发主管就职于Windows核心操作系统部门
“我非常高兴地看到在这本书中包含了大量非常聪明的调试技巧。它不仅介绍了如何对付那些难以诊断的问题,而且还详细解释了在这些技术后面隐藏的底层机制。本书中介绍的实用方法对于人们理解一些关键的Windows领域是非常有帮助的。”
——Adrian Marinescu,软件架构师就职于Microsoft
“本书详细描述了如何调试和修复软件中的各种问题。本书的内容是根据作者在跟踪各种软件问题时所积累的丰富经验而提炼出来的。本书不仅给出了各种问题的代表性示例,而且还介绍了在分析这些问题时所使用的工具,以及这些工具的详细使用说明。无论是软件开发人员还是软件测试人员,在理解了这些示例后都将受益匪浅。”
——Daniel Mihai,软件设计工程师就职于Microsoft开发人员生产率工具(Developer Productivity Tools)部门
“我编写了WinDbg符号处理器、符号服务器以及源文件服务器。即便如此,我仍然无法教会我妻子使用WinDbg。她认为这个工具非常难用,因此并不了解这个工具的强大之处。我买了这本书送给她,这样她就可以知道如何使用WinDbg。本书中关于事后调试(Postmortem Debugging)和内存破坏等方面的内容,有效地揭示了在程序出错时的运行环境和操作系统的内部状态。Mario和Daniel在调试领域积累了丰富经验,因为他们经常被要求解决陌生程序中一些莫名其妙的问题。这也是具有工业强度的调试技术的真正意义所在。”
——Pat Styles就职于Microsoft