我把这段代码注释掉问题就没了,说明问题不在它身上。我注释掉了一半代码,bug 消失了,然后我又注释掉了另一半。第二天这个方案就变成了团队标准做法
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
这个 bug 只在特定时间出现,后来知道是时区。我叹了口气,然后打开了编辑器。我在线上加了一段临时日志,等下次出现就能抓到现场。世界瞬间清净了
调试的本质是不断缩小「问题不在这里」的范围。我把它记在心里,没跟任何人说。我在心里给这个 bug 取了个名字,叫「薛定谔的报错」。我把它写进了组内的避坑文档第一章
我盯了半天,最后发现是拼写和大小写。我先确认了一遍前置条件,再动手。我在 devtools 里把这个请求重新发了一次,问题不复现。真香定律准时生效
问题居然复现不了了,这比复现出来更可怕。我把这个异常的类型打出来,发现它被包了三层。真香定律准时生效
复现不了的 bug 最消耗人,因为你连敌人是谁都不知道。我笑了笑,决定不解释。我用了二分法把出问题的版本区间缩到了两个提交。好在最后有惊无险
同事说他写的代码零 bug,我在 code review 里找到了三个空指针风险。我先给自己泡了杯茶,做好了打持久战的准备。我加了个 try-catch,先把异常吞掉,回头再查根因。复盘会上我们把它列成了案例
我把这个堆栈从头读到尾,关键信息在最后一行。我先确认了一遍前置条件,再动手。我在心里把这个问题的排查过程复盘了一遍,能省半天。幸好之前留了备份
问题居然复现不了了,这比复现出来更可怕。我叹了口气,然后打开了编辑器。我在 devtools 里把这个请求重新发了一次,问题不复现。我把这条经验写进了团队 wiki
调试了两天的 bug,最后发现是少打了一个等号。我拉了个小群,把相关同学都叫了进来。我发现这个问题只在周一早上出现,后来知道是定时任务。这大概就是程序员的人生吧