到目前为止,我们都在假设你编写的程序是正确的,你程序运行的软、硬件环境是没有任何错误的,使用你的软件的用户都是精通计算机的高手和专家,但是你知道,这只是一种美好的假设。事实情况是,即使只有几行的程序,也可能存在设计和编码的缺陷。操作系统的各种不靠谱,硬盘上可能出现的物理损坏。你的用户可能连怎么关掉电脑都不知道,甚至于你的用户可能是一个玩耍的孩子,或者是一只淘气的小猫。
作为一名程序员,要有一个清醒的认识,那就是你要终身和bug 和各种错误为伴。所以我把这一章单独抽取出来,来突出这一部分内容的重要性。单独成为一章也有一定的缺点,那就是这一部分内容本身太多、太杂,所以本书决定尽量只介绍一些纲领性、策略性及基础性的知识,而不是过多涉及工具和方法的细节。有关细节的描述,大家可以参考《Windows 程序调试》[21]一书,虽然这本书的书名中包含Windows,但它介绍的有关调试的内容并不是只局限于Windows 平台。它的前半部分关于调试策略方面的介绍,可以应用到各种开发平台和开发语言上。我推荐这本书的原因还在于,它不仅教你正确的调试方法,更重要的是,它还教你正确的调试态度。
本章介绍的内容并不局限于C 语言,bug 与错误在各种语言中你都会遇到。所以掌握这些基本的调