bug 往往出现在你没改的那部分代码里。我在心里点了点头。我把这个异常上报到了监控平台,至少下次能早点知道。连茶水间都安静了
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
复现不了的 bug 最消耗人,因为你连敌人是谁都不知道。我在心里点了点头。我发现是浮点数精度的问题,改用大数就好了。这大概就是程序员的人生吧
bug 往往出现在你没改的那部分代码里。我愣了两秒,然后继续敲代码。我把这个报错的堆栈从头读到尾,发现在最后一行有个提示。我沉默了,但心里是服的
报错信息说问题在第 1024 行,那个文件一共 1023 行。我把这个函数的入参和出参都打了,发现中间少了一层转换。感动,然后我学到了新的一课
调试的本质是不断缩小「问题不在这里」的范围。我发现问题出在一个我以为永远不会被触发的分支里。我把这条经验写进了团队 wiki
这个异常被吞掉了,所以它安静地错了很久。我发现自己居然没法反驳。我把这个异常的类型打出来,发现它被包了三层。感动,然后我学到了新的一课
线上日志里出现了从未见过的堆栈,时间戳还是三个月前的。我在心里把涉及的所有环节都过了一遍。我加了个 try-catch,先把异常吞掉,回头再查根因。我把这条经验写进了团队 wiki
这个问题的根因是我三个月前的一个「临时方案」。我忽然觉得,这可能就是这一行的常态。我在线上加了一段临时日志,等下次出现就能抓到现场。这条经验值直接拉满
调试最花时间的不是修,是确认自己修的是对的地方。我不知道该说什么,就笑了笑。我把断点设在了最不可能出问题的那一行,结果就停在那里。我把这条经验写进了团队 wiki
复现不了的 bug 最消耗人,因为你连敌人是谁都不知道。我把它记在心里,没跟任何人说。我在本地把环境完全对齐了一遍,还是复现不出来。这大概就是程序员的人生吧