信息技术
什么是调试(debugging)?
简短回答
调试就是找出并修正算法或计算机程序里的错误(bug)。这是每个人编程时都会遇到的正常环节。
6–14 岁小学
一句话说明
调试就像侦探工作:找出为什么程序或一组指令不起作用,并把它修好。
详细讲解
当你写算法或代码时,它常常会做出你没料到的事。这个错误叫作 bug,修正它就叫调试(debugging)。每个程序员,无论新手还是专家,都要花很多时间调试。出现 bug 并不代表你不擅长编程,而是代表你在编程。
Bug 有几种类型:
- 语法错误:代码写错了,比如少了一个括号或写错了命令。计算机无法运行它。
- 逻辑错误:代码能运行,但做的事不对,比如该向右转却向左转,或者该重复 4 次却重复了 3 次。
- 漏掉步骤:算法中少了一个步骤。
好的调试者像侦探一样工作。他们先预测应该发生什么,然后运行程序,把结果和预测对照,再缩小范围找出哪里出了问题。一次只改一处,更容易看出是什么解决了问题。
“bug”(原意是虫子)这个词用在机器故障上,早在有计算机之前就有了;19 世纪的发明家就这样用。一个著名的故事发生在 1947 年,当时在哈佛 Mark II 计算机上工作的工程师团队(成员包括格蕾丝·霍珀)发现里面真的卡着一只飞蛾。他们把它贴在日志本上,写道这是“第一个真正发现虫子的案例”(first actual case of bug being found)。这个玩笑之所以成立,是因为大家本来就把故障叫作 bug。
调试需要耐心。它是成长型思维的绝佳例子:每个错误都在告诉你一些有用的信息。
放大镜
电脑
机器人
蝴蝶
例子
分步做法
- 发现问题画出来的正方形变成了三角形。
- 预测它应该移动并转弯四次。
- 追踪代码一行一行地看:“重复 3 次……前进 100……转 90。”
- 找到 bug循环里写的是 3,不是 4。
- 修正并测试把 3 改成 4,再运行一遍。它画出了一个正方形。
常见错误
- 一次改很多处。你不会知道是哪一处改好了,哪一处改坏了。
- 修改之后不测试。一定要再运行一遍程序。
- 以为出现 bug 就是失败。bug 很正常。修复它们是一种可以越练越好的本领。
小测验
调试
用 4 道小题检验一下你学会了多少。
第 1 题,共 4 题
在计算机里,bug 是什么?
练一练
试一试
找错误与逻辑谜题
13–18 岁免费
12–16 岁免费
13–18 岁免费
12–16 岁免费
13–18 岁免费
12–16 岁免费