随想005:调试的思考

Posted 研究是为了理解

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了随想005:调试的思考相关的知识,希望对你有一定的参考价值。

任何的 BUG,都可以用以下步骤来解决:

  1. 重现 BUG
  2. 观察现象
  3. 提出假设
  4. 验证假设

很多 BUG 很难解决,在第一步重现 BUG时就撞了个头破血流。
总有人试图走些捷径,选择跳过这一步。
无源之水、无本之木、万丈高楼浮空起
结果自然是反反复复、来来回回,“攻关”之后接着“攻关”,然后公关。

重现 BUG,才可以观察现象
知道了重现 BUG 的步骤,才能针对性的提出假设
重现 BUG,才能判断出 BUG 是否已经修复好
所以重现 BUG 是解决 BUG 的基础,当你发现一个 BUG 时应该怎么办?
让它再次发生!

你站着说话不腰疼、你不知人间疾苦、你何不食肉糜
你有没有见过复杂系统、恶劣现场、间歇性 BUG ?
我知道,我见过
你说这个 BUG 有个性,在家一切好好的,一到现场才出现
那就收拾好仪器,搭车、坐船、乘飞机,去现场
你说这个 BUG 很调皮,你想见它见不着,刚刚离去它出现
那就做好监控、日志,打持久战
你说这个 BUG 可能是系统调用/客户电脑/编译器/之前就有…
你总是有那么多理由,怪不得找不到 BUG
让我们正视问题 ,拿出专业的态度,跟着念:
BUG 一定有原因,也一定能够找到它。

以上是关于随想005:调试的思考的主要内容,如果未能解决你的问题,请参考以下文章

随想005:调试的思考

005 selenium xpath/调试/table

“程序的迭代”——复杂性度量随想

阅老师之阅读与思考之后随想

第五章随想

005_针对于go语言中速率限制的思考