Skip to Content
C++程序设计:原理与实践(基础篇)(原书第2版)
book

C++程序设计:原理与实践(基础篇)(原书第2版)

by 本贾尼 斯特劳斯特鲁普
August 2021
Intermediate to advanced
450 pages
9h 36m
Chinese
Pearson
Content preview from C++程序设计:原理与实践(基础篇)(原书第2版)

5.9 调试

当你写完一个程序后(草稿?),它会有不少错误。小程序偶尔会一次通过。但如果一个复杂的大程序也出现这种情况的话,你一定要保持一个非常非常谨慎的态度。如果它确实第一次运行就正确的话,赶紧告诉你的朋友们来庆祝一下吧,因为这种事情不是每年都有的。

因此,当你写完代码后,你要做的就是找到并排除错误。这一过程称为调试(debugging),错误被称为bug。据说bug(有昆虫的意思)一词来自于早期真空管计算机时代,那时的计算机是占据了很大空间的真空管计算机,当小昆虫进入电路板后就会导致硬件故障。一些人将bug一词借用过来专指软件中的错误。其中最著名的就是Grace Murray Hopper,COBOL编程语言的发明人(参见22.2.2.2节)。这个词第一次出现已经是五十多年以前的事情了,现在它已经被人们普遍接受了。查找并排除错误的过程被称为调试。

调试可以被简单描述为:

1.让程序编译通过。

2.让程序正确链接。

3.让程序完成我们希望它做的工作。

基本上,我们要一次次重复这个过程:对于大程序,需要上百次,上千次,年复一年。每当程序不能正常工作,我们就要找出问题并修正。我认为在编程中调试是最乏味、最费时间的工作,因此应该不遗余力地做好设计和编码工作,以使除错的时间降到最低。有的人会在调试过程中体验到搜寻bug和深入程序精髓的快乐——调试可以和视频游戏一样让人上瘾,会把程序员没日没夜地黏在终端前(以个人的经验,我可以证实这一点)。

下面是调试时不要犯的错误:

为什么我们要提到这些呢?显然,糟糕的方法会使成功的机会变得很低。不幸的是,上述行为恰好概括了许多人在深更半夜工作茫无头绪时所做的“无用功”。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C++语言导学(原书第2版)

C++语言导学(原书第2版)

本贾尼 斯特劳斯特鲁普
管理Kubernetes

管理Kubernetes

Brendan Burns, Craig Tracey
Go程序设计语言

Go程序设计语言

艾伦A. A.多诺万, 布莱恩W. 柯尼汉

Publisher Resources

ISBN: 9787111562252