bug 排查能力突飞猛进,我的一点小感悟

共 2013字,需浏览 5分钟

 ·

2021-07-27 00:47

大家好,我是帅地。

最近在星球里有球友问了我一个关于提高自己查找 bug 能力的问题。

关于如何提升查找 bug 能力的问题,其实帅地也没有去总结出明确的方法论,但学了五年的编程,倒是有点小感悟。

我记得我刚开始学 C 语言的时候,明明是跟着书上的代码写的,但还是得不到预期结果,几十行的代码,我居然找不出 bug 在哪里,通过大半小时的排查,我发现是 if(条件) 那里多了一个分号,例如

if(条件);
{
  doSomething();
}

后来也是在一个很简单的代码里,特么我也是不知道啥错误,莫名其妙,也是搞了好久,最后才发现是在 for 循环里把「分号」写成了「逗号」。

不得不说,这些简单的错误,有时候贼难排查,因为这些错误不会报错,程序可以正常运行,当然,有时候也会遇到很多程序在运行中莫名结束的,例如学到指针那里就遇到运行中报错但控制台没有提示的 bug。

总之,刚开始学编程那会,有很多莫名的 bug,并且每次都排查好久,不过后来我基本都知道套路了,可能是熟悉了,每次有 bug,可以很快反应出来大致是哪些出问题,每次有人问我这代码哪里有 bug,我都可以很快找出来。

之所以能够快速找出,并不是我有多聪明,而且我经历过,查的多,有经验了。

后来,我做了 JavaWeb 这些项目,跟着视频做的,也总是遇到错误,而且不想以前几十上百行代码,这些项目上千行代码,而且各种依赖包,我记得我刚开始做的一个 SSM 项目,从 GitHub 拉下来的,师兄让我用 IDEA 去运行起来。

我很害怕,因为我对 ssm 项目不熟悉,这要怎么运行起来?没办法,我跟着文档弄,结果可想而知,我遇到了很多错误,特么我对 IDEA 也不熟悉啊,记得当时有一个 bug 我排查了三天三夜,那三天都没有睡好,就是 maven 打包的时候总是出现错误,当时我对 maven 也很不熟悉。

这个时候的错误,不像当时学习 C 语言那样,看代码逻辑就能找出来,而是涉及很多模块,很多依赖,这些依赖包的水又很深,基本不是说看看代码就能看出来的。

在对这些技术都不熟悉的情况下,我花了好几天,百度了好几天,终于把项目运行起来了,莫名激动,尽管花了好几天。

如果你问我在这个过程学到了什么知识,我会告诉你,我也不知道具体自己学到了什么知识,但我就是感觉自己查找 bug 的能力提高了很多,反正就是可以神经反应,大致知道从哪里排查,反正日后遇到这种问题莫名自信。

后来我工作了,以前自己做项目,都是在本地运行,自己也没有打印什么日志,或者说日志都是打印到控制台的,反正就是很不规范。

但是在大公司就不一样了,有相对完善的日志系统,而且有错误也不会打印到控制台上,因为都是在服务器上运行代码的,你得去查找对应的日志,有时候连日志在哪里,都不知道,,,

在以前,依赖包往往是你自己搞的,但在公司,整体架构是别人搭建好的了,依赖包也是有版本管理,别人搞好的了,所以遇到 bug,真的得看日志,跟着日志来,之后再去细查。

刚开始我还挺不习惯的,加上公司的网络环境莫名其妙,而且对 linux 那些 find,grep 等命令不是很熟悉,,,反正就是查找 bug 相对较慢。

后来我在公司接手了一个 D 监控的东西,是个老系统,问题贼多,经常有工单(就是用户的求助或者投诉啥的),然后我必须根据这些工单给用户一个明确的答复,注意,必须是明确,不能是「应该」,「大概」,毕竟客户是上帝。

那会一天好几个工单,我那段时间真的炸了,而且经常需要上线上的服务器排查问题,真的是各种莫名的 bug 都有。

bug 排查多了,有种自己身经百战的感觉,一点也不畏惧 bug,一遇到问题,脑子就会转起来,很快就猜测出各种可能性,然后排查,记得有次我导师问我:你这个是怎么想到的(突然有种得意的感觉)。

其实说了这么多,我是想说,对于查找 bug,我也没有明确的方法论,因为 bug 真的各种莫名其妙,但当你发现时,也确实并非莫名其妙,往往是因为自己不细心或者理解不到位导致的。

我觉得我查找 bug 的能力还行,这并不是因为我掌握了多少方法论或者多聪明,而是我排查多了,每排查一次,最后找出 bug 所在,这一次成功的查找经历,就会成为我的经验,每次遇到 bug,我就会去扫描各种可能,或者脑子就直接定位了。

所以我觉得,多多实践,是提升查找 bug 能力的一种有效方式。

如果你查找 bug 能力太欠缺,往往是实践的不够多,接下来可以多多脚踏实地,多查查 bug,可能就莫名起来提升上去了,最后也会形成属于你自己的方法论。

最后小破号求关注,每一篇文章都很认真

浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报