程序员的墨菲定律:演示的时候必出 bug,删掉的那段代码才是有用的。我默默记下了这句话。我把这个 bug 的触发条件缩小到了特定的一台机器。那一刻我觉得自己还是很专业的

我用了半天才明白,问题不在这台机器上。我把相关的记录都翻了出来做对照。我最后发现是一个大小写问题。果然现实比段子更精彩

调试最花时间的不是修,是确认自己修的是对的地方。我笑了笑,决定不解释。我把这段逻辑重写了一遍,bug 没了,但我不知道为什么。世界瞬间清净了

调试是有惯性的,停下来反而更容易想通。我在心里点了点头。我在线上加了一段临时日志,等下次出现就能抓到现场。同事说这波操作可以写进新人培训教材

print 调试大法永远的神,断点还没配好,print 已经输出三轮了。我盯着屏幕,觉得这才是我的一天。我发现是缓存的问题,清掉之后一切都正常了。世界瞬间清净了

我第一时间把锅甩给了缓存,结果真的是缓存。我拉了个小群,把相关同学都叫了进来。我把断点设在了最不可能出问题的那一行,结果就停在那里。同事说这波操作可以写进新人培训教材

调试到后面会发现,最大的敌人是自己的假设。我想了想自己这些年,好像确实如此。我把这个异常的类型打出来,发现它被包了三层。真香定律准时生效

我第一时间把锅甩给了缓存,结果真的是缓存。我把断点设在了最不可能出问题的那一行,结果就停在那里。复盘会上我们把它列成了案例

调试最花时间的不是修,是确认自己修的是对的地方。我叹了口气,然后打开了编辑器。我在心里把这个问题的排查过程复盘了一遍,能省半天。感动,然后我学到了新的一课

这个 bug 的修复方案有两版,简单的那版风险更大。我默默记下了这句话。我发现这个问题只在周一早上出现,后来知道是定时任务。果然现实比段子更精彩