调试了两天的 bug,最后发现是少打了一个等号。我在心里把涉及的所有环节都过了一遍。我在心里把这个问题的排查过程复盘了一遍,能省半天。第二天这个方案就变成了团队标准做法
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
这个异常被吞掉了,所以它安静地错了很久。我盯着屏幕,觉得这才是我的一天。我在 devtools 里把这个请求重新发了一次,问题不复现。办公室安静得能听见键盘声
我用了半天才明白,问题不在这台机器上。我把手上的资料翻出来又读了两遍。我发现这个字段在数据库里存量是脏的,代码没问题。幸好之前留了备份
程序员的墨菲定律:演示的时候必出 bug,删掉的那段代码才是有用的。我忽然觉得,这可能就是这一行的常态。我发现是缓存的问题,清掉之后一切都正常了。好在最后有惊无险
这个报错信息指向的位置和真正的错误隔了三层。我听完沉默了,因为太真实了。我把这个内存泄漏的对象引用链打了出来,找到根了。从此我多了一条团队规约
调试是有惯性的,停下来反而更容易想通。我停了一下,然后继续手上的活。我注释掉了一半代码,bug 消失了,然后我又注释掉了另一半。世界瞬间清净了
我把这个堆栈从头读到尾,关键信息在最后一行。我打开记录从头到尾扫了一遍。我把这段逻辑重写了一遍,bug 没了,但我不知道为什么。这大概就是程序员的人生吧
bug 往往出现在你没改的那部分代码里。我想了想自己这些年,好像确实如此。我把这个问题的复现概率测了一下,大概百分之三。这条经验值直接拉满
我把这段代码注释掉问题就没了,说明问题不在它身上。我决定先把手上的事情做完再处理这件事。我在心里给这个 bug 取了个名字,叫「薛定谔的报错」。办公室安静得能听见键盘声
调试了两天的 bug,最后发现是少打了一个等号。我在心里把涉及的所有环节都过了一遍。我在心里给这个 bug 取了个名字,叫「薛定谔的报错」。连茶水间都安静了