bug调试九法--软硬件错误的排查之道

前言:从学生阶段的小白进入职场两个多月了,总觉得作为一个程序员不仅仅是要拥有相关领域的知识点硬实力,很多跟专业知识无关的软实力其实也是很重要的。个人觉得做事情思考维度、在职场中为人处世的能力、生活中与朋友,家人以及其他人交往能力都是很重要的,甚至自身心态的修炼也是极为重要。来上海几个月了,经历了一些事情,遇到一些酸楚的事情,但好在自己有个强大的心态,但也希望经历过这些事情后,自己能够逐渐成长起来。

最近的工作让我觉得自己在代码调试Bug时候效率低下,有的Bug调式半天后才恍然大悟,原来问题出在这里,自己当时怎么没有想到是这里,或者说怀疑是这里有问题,却有时候理智上又觉得这里没有问题。

这种事情遇到了好几次,于是觉得自己需要提高一下调试代码发现bug的能力。于是看了一本叫《调试九法-软硬件错误的排查之道》书,这篇博客也就当是自己的读书笔记了。

一、调试规则:

1.理解系统

2.制造失败:要观察错误,就必须使它发生。我们必须尽可能又规律的制造失败--有时候我们一心要去调式代码,但隐藏的Bug并不容易找到,我们可以通过尽量制造出一个Bug,它的错误信息跟之前bug导致了同样的问题,这时候我们就可以通过人为制造的bug来推演。思考可能出现bug的原因。

3.不要想,而要看:凭空想象,问题可能几千条,而实际原因只有去看了才能发现。打印出每一个可能出错的环节,逐一排查。

4.分而治之:查找问题时,“分而治之”是第一条需要使用的原则,缩小搜素范围,像目标跟踪,找到目标范围。在某个可能范围内找到问题,因此从范围的一端开始,先搜索前一半,看看是否有错误,如果有错误,则把搜索范围定为前四分之一,然后再次尝试。如果没有错误,则在搜索范围后半部分查找。直到找到错误目标为止。

ways:

  (1):通过逐次逼近缩小搜索范围:猜测1-100内的一个数字,只需要7次。

  (2):确定范围:

(3)确定你位于Bug的那一侧

(4)使用易于查看的测试模式:

5.一次只改一个地方:在我们的生活中要有一点先见之明,如果你所做的更改没有起到预期的作用,那么就把它改回来。否则它们可能产生无法预料的影响。

(1)隔离关键因素

(2)与正常情况比较

(3)确定自从上一次正常工作以来,你改变了什么地方。

6保持审计跟踪:不要只是在心里记住这条准则,而是要把它写下来。

(1)把你的操作,操作的顺序和结果全部记录下来。

(2)要知道,任何细节都可能是重要的。

(3)把时间关联在一起

(4)把事情记录下来

 

 

7.检查插头

8.获得全新观点

9.如果你不修复Bug,它将依然存在

你可能感兴趣的:(程序员修炼之道-从小白开始)