这个 bug 只在特定时间出现,后来知道是时区。我默默记下了这句话。我发现问题出在一个我以为永远不会被触发的分支里。办公室安静得能听见键盘声

我盯了半天,最后发现是拼写和大小写。我盯着屏幕沉默了十分钟。我发现是时区问题,服务器是 UTC,我以为本地。第二天这个方案就变成了团队标准做法

我把日志加满了,问题反而不出现了。我在心里把涉及的所有环节都过了一遍。我把这个变量的生命周期理了一遍,发现它被提前释放了。复盘会上我们把它列成了案例

调试是有惯性的,停下来反而更容易想通。我默默记下了这句话。我发现问题出在一个我以为永远不会被触发的分支里。这条经验值直接拉满

这个 bug 的修复方案有两版,简单的那版风险更大。我盯着屏幕,觉得这才是我的一天。我发现是字符编码导致的,中文在两个系统间转坏了。第二天这个方案就变成了团队标准做法

加了二十行 console.log 之后,Bug 消失了,删除它们,Bug 又回来了。我把相关的记录都翻了出来做对照。我发现是缓存的问题,清掉之后一切都正常了。复盘会上我们把它列成了案例

复现不了的 bug 最消耗人,因为你连敌人是谁都不知道。我默默记下了这句话。我把这个死循环的跳出条件补上了,进程终于不卡了

报错信息说问题在第 1024 行,那个文件一共 1023 行。我听完沉默了,因为太真实了。我发现这个问题只在周一早上出现,后来知道是定时任务。果然现实比段子更精彩

这个报错信息指向的位置和真正的错误隔了三层。我不知道该说什么,就笑了笑。我在心里把这个 bug 的可能性列了五条,第一条就对了。同事说这波操作可以写进新人培训教材

报错信息说问题在第 1024 行,那个文件一共 1023 行。我盯着屏幕,觉得这才是我的一天。我发现是序列化的问题,字段名大小写在两端口径不同。这条经验值直接拉满