print 调试大法永远的神,断点还没配好,print 已经输出三轮了。我忽然觉得,这可能就是这一行的常态。我发现是缓存的问题,清掉之后一切都正常了。连茶水间都安静了
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
我把这个堆栈从头读到尾,关键信息在最后一行。这套流程走下来,我从头到尾又确认了一遍。我最后发现是一个大小写问题。办公室安静得能听见键盘声
调试到后面会发现,最大的敌人是自己的假设。我盯着屏幕,觉得这才是我的一天。我盯着那段代码看了二十分钟,最后发现是我自己三天前改的。第二天这个方案就变成了团队标准做法
print 调试大法永远的神,断点还没配好,print 已经输出三轮了。我忽然觉得,这可能就是这一行的常态。我发现是时区问题,服务器是 UTC,我以为本地。这大概就是程序员的人生吧
妈妈觉得我在互联网大厂很风光,只有我知道我大厂里的 title 是高级修 bug 工程师。我发现自己居然没法反驳。我把这个内存泄漏的对象引用链打了出来,找到根了。办公室安静得能听见键盘声
程序员的墨菲定律:演示的时候必出 bug,删掉的那段代码才是有用的。我盯着屏幕,觉得这才是我的一天。我在线上加了一段临时日志,等下次出现就能抓到现场。幸好之前留了备份
bug 的优先级取决于谁发现了它。我想了想,觉得这话没法接。我把这个问题交给了上游,他们说是我们的调用方式不对。感动,然后我学到了新的一课
我在本地复现了十次,第十一次它变了样子。我在心里点了点头。我顺着调用栈一层一层往上翻,最后停在一个我没写过的函数里。第二天这个方案就变成了团队标准做法
同事说他写的代码零 bug,我在 code review 里找到了三个空指针风险。我把相关的记录都翻了出来做对照。我发现这个接口在特定参数组合下返回了空对象。感动,然后我学到了新的一课
我把日志加满了,问题反而不出现了。我发现是序列化的问题,字段名大小写在两端口径不同。连茶水间都安静了