- 1、本文档共1页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
译 者 序
软件调试是开发人员日常工作的重要组成部分。无论软件工程的理念多么先进,开发进度的 安排多么合理,或者开发人员的经验多么丰富,人们在开发软件时总是无法保证不出现任何 错误。当软件出现错误时,就需要进行调试。近年来,随着软件规模和复杂性的不断增加, 错误的出现频率以及调试难度也在以非线性的方式增长。要想提高调试工作的效率,采用正 确的调试思路和调试工具是非常重要的。有时候,一个需要数天时间才能解决的问题,如果 换一种调试思路或者借助某种特殊的调试工具,或许只需1 个小时就可以解决。
软件人员通常都知道许多高效的编码方法,例如极限编程、代码自动生成框架等,但他们很 少知道一些高效的调试方法。大多数软件开发人员的调试思路和所使用的调试工具都还停留 在比较初级的阶段,例如仅限于通过集成开发环境自带的调试器来进行单步跟踪。事实上, 随着 Windows 的不断发展,Windows 上调试工具的数量和功能也在不断增加。但可惜的是, 很少有人知道这些强大的调试工具,而了解这些工具的独特优势并且针对不同调试问题采用 正确调试工具的人则更少。有些软件开发人员经常加班和熬夜,往往是因为他们使用了一些 低效的方法来调试复杂的问题,他们并不知道其实存在着一些更高效的调试方式可以帮他们 节约大量的时间。
本书的写作初衷正是为了将一些非常有价值的调试思路和调试工具推荐给软件开发人员,目的是提高开发人员的调试效率。本书的特点如下。
系统地介绍了 Windows 调试的基础知识。这些知识包括两个方面:Windows 中一些底层组件的知识,包括调用栈的结构、堆管理器的工作原理、安全管理机制、进程间通信协议等; 一些基本的调试知识,包括调试器的工作原理、调试符号的使用、内存转储文件的结构以及 栈回溯中包含的调试信息等。
结合实际问题来阐述正确的调试思路以及各种调试工具的使用。本书采用的叙述方式是, 首先给出某个实际的问题,例如内存破坏、同步问题、资源泄漏、安全威胁等;然后介绍分析这个问题的正确调试思路,例如如何通过程序的异常表现来了解问题的具体信息;最后根 据所调试的问题来采用正确的调试工具,并详细讲解了各种调试工具的使用方法和技巧。
讲解了一些高级调试主题,包括 64 位操作系统上的调试、Windows Vista 系统上的调试、事后调试以及调试扩展的编写等。这些主题为开发人员进行复杂的调试提供了必要的基础知 识。
作者 Mario Hewardt 和 Daniel Pravat 是 Microsoft 公司的资深工程师,他们从事的工作就是保证Windows 产品的可靠性、稳定性以及安全性。他们在调试领域已经工作了十余年的时间,积累了丰富的调试实践经验,而本书正是融合了这些宝贵的经验而形成的。因此,对于Windows 开发人员来说,本书是一本不可多得的调试参考手册。
本书的技术性较强,需要读者对 Windows 系统的底层架构和组件有一定的了解,并且具备一定的编程基础和调试基础。如果读者需要补充这些方面的知识,可以参考作者在书中介绍的相关参考书籍。
参与本书翻译工作的还有李杨、吴汉平、徐光景、童胜汉、陈军、胡凯、刘红、张玮、陈红、李斌、李勇涛、王海涛、周云波、彭敏才和张世锋等。由于译者的时间和水平有限,翻译中的疏漏和错误在所难免,请读者和同行不吝指正。
感谢妻子云兰和女儿彤彤,虽然在翻译本书的过程中减少了陪伴你们的时间,但你们依然理 解和支持我的工作。感谢父母在生活上的帮助,使我可以全身心地投入到本书的翻译工作中。聂雪军
2009 年 2 月于武汉
文档评论(0)