我把这段代码注释掉问题就没了,说明问题不在它身上。我深呼吸了一下,决定从最可疑的地方查起。我在线上加了一段临时日志,等下次出现就能抓到现场。世界瞬间清净了
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
这个异常被吞掉了,所以它安静地错了很久。我把这个问题的复现概率测了一下,大概百分之三。第二天这个方案就变成了团队标准做法
调试最花时间的不是修,是确认自己修的是对的地方。我想反驳,但发现他说得对。我把这个问题交给了上游,他们说是我们的调用方式不对。好在最后有惊无险
我盯了半天,最后发现是拼写和大小写。我重新看了一遍手上的计划,把风险项标了出来。我把这两次运行的日志逐行 diff 了一遍,找到唯一的差异。我把它写进了组内的避坑文档第一章
问题居然复现不了了,这比复现出来更可怕。我停了一下,然后继续手上的活。我发现是缓存的问题,清掉之后一切都正常了。我沉默了,但心里是服的
这个异常被吞掉了,所以它安静地错了很久。我听完沉默了,因为太真实了。我把日志的时间粒度从秒改成了毫秒,顺序终于排对了。从此我多了一条团队规约
调试的本质是不断缩小「问题不在这里」的范围。我把它记在心里,没跟任何人说。我在本地把环境完全对齐了一遍,还是复现不出来。这大概就是程序员的人生吧
调试是有惯性的,停下来反而更容易想通。我抬起头看了看周围,大家都一样。我把这个死循环的跳出条件补上了,进程终于不卡了。连茶水间都安静了
报错信息说问题在第 1024 行,那个文件一共 1023 行。我在心里点了点头。我发现问题出在一个我以为永远不会被触发的分支里。好在最后有惊无险
这个报错信息指向的位置和真正的错误隔了三层。我听完沉默了,因为太真实了。我在线上加了一段临时日志,等下次出现就能抓到现场