ABS / 多敲码 · 2022年9月25日 0

调试

程序撰写完毕后,要检查是否能够按照预期工作,不能达到预期的被称为”buggy”脚本, 所谓的bug主要表现在3方面:

  1. 无法运行,提示语法错误
  2. 运行了,但是与预期不符,存在逻辑错误
  3. 正常工作,结果符合预期,但是带有边际效应, 即逻辑炸弹

修正bug首先要知道问题出在哪里, 可以通过一些代码工具先找到问题点, 这就是调试的意义所在,常用的工具有:

  1. echo语句. 把语句插入在脚本的关键点,以追踪变量(值的变化),知道这些节点上发生了什么.
  2. 使用tee筛选器,检查关键点的进程或数据流.
  3. 设置-n,-v,-x选项标识.
  4. 使用assert函数,测试脚本中关键点的变量或条件.
  5. 使用行号$LINENO变量和caller内置命令.
  6. 退出时使用trap捕捉.