跳转至

章节概述

在本章节,我们将学习如何找出我们所写的代码中的错误 (bug),即 debug

首先介绍什么是 bug,我打算用输出日志的几种类型对 bug 进行介绍:

  • info: 正常的提示性信息,出现这种信息说明程序运行一切正常
  • warning: 警告,过程中出现异常表现但不一定出现异常结果,可能仍能完成预期任务
  • error: 错误,出现了异常的结果,不能完成程序预期的任务
  • fatal: 致命错误,不仅不能完成预期任务,而且程序无法正常运行(例如直接死亡)

有个笑话说一个悬崖前面放了一个写着 warning 的牌子,普通人看到就往回走了,程序员看到了却继续往前冲。这说的就是 warning 有时不影响程序完成预期任务,因此程序员不管 warning

当然实际使用中 warningerror fatal error 的界限可能比较模糊,但是以下两点宗旨是确定的:

  • error 一定要解决
  • warning 越少越好(最好没有,了解所有你允许的 warning 产生的原因

本章节将会介绍如下几种常用的调试技术:

  • 静态调试:不跑程序就看出代码中的错误并进行修改
  • 动态调试:在程序运行中跟踪程序的状态,定位 bug 的产生

本章参考了 TonyCrane 程设第一次授课 PPT,推荐大家一读