1947年,哈佛大学的工程师们发现一只飞蛾被困在Mark II计算机的一个继电器里。他们把飞蛾的照片贴在日志上,并写道:“这是发现的第一个真正的bug案例”。调试是指查找并修复代码错误的过程。尽管大多数bug并非昆虫,但“调试”这个词却沿用至今。
程序错误种类繁多,从拼写错误到逻辑错误再到竞态条件,不一而足。缺少分号会导致编译停止。错误的变量名会产生错误的结果。竞态条件仅在两个线程按特定顺序运行时才会出现。有些错误很容易发现,而有些则需要数天才能重现。
调试技巧
- 打印语句:在关键点输出值
- 断点:暂停执行并检查状态
- 橡皮鸭调试法:大声解释代码
- 二分查找:缩小错误出现范围
- 版本控制:比较正常工作的版本和出现问题的版本
调试就像侦探工作。你要提出假设,验证假设,排除各种可能性。优秀的调试人员耐心且条理清晰。他们不靠猜测,而是观察。
Comments
No comments yet. Be the first to share a thought.
Leave a comment