这个空指针在上线前一切正常,因为那时没有空数据。我注释掉了一半代码,bug 消失了,然后我又注释掉了另一半。幸好之前留了备份
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
报错信息说问题在第 1024 行,那个文件一共 1023 行。我发现这个接口在特定参数组合下返回了空对象。第二天这个方案就变成了团队标准做法
调试的本质是不断缩小「问题不在这里」的范围。我停了一下,然后继续手上的活。我把变量全部打印出来对比,发现类型和我想的完全不一样。世界瞬间清净了
print 调试大法永远的神,断点还没配好,print 已经输出三轮了。我想反驳,但发现他说得对。我把这个异常的类型打出来,发现它被包了三层。同事说这波操作可以写进新人培训教材
我把日志加满了,问题反而不出现了。我把手上的资料翻出来又读了两遍。我把这两次运行的日志逐行 diff 了一遍,找到唯一的差异。真香定律准时生效
调试是有惯性的,停下来反而更容易想通。我叹了口气,然后打开了编辑器。我把这个 bug 的触发条件缩小到了特定的一台机器。我把这条经验写进了团队 wiki
这个报错信息指向的位置和真正的错误隔了三层。我不知道该说什么,就笑了笑。我把这个 bug 的修复方案写了两版,选了改动小的那版。果然现实比段子更精彩
报错信息说问题在第 1024 行,那个文件一共 1023 行。我默默记下了这句话。我把这个问题交给了上游,他们说是我们的调用方式不对。从此我多了一条团队规约
我用了半天才明白,问题不在这台机器上。我把整条链路在心里复盘了一遍。我在 devtools 里把这个请求重新发了一次,问题不复现
这个报错信息指向的位置和真正的错误隔了三层。我盯着屏幕,觉得这才是我的一天。我把这个 bug 的优先级降了一级,因为它只在测试环境出现。幸好之前留了备份