一个新手程序员的解决之旅

204 阅读2分钟

前言

之前发现一个难处理的bug,觉得难处理的大部分原因还是觉得这个bug不太好排查。

image.png

问题由来

当客户打开报表展示数据时 image.png

页面出现bug整个页面无响应,将问题工单移交给我们时就去线上排查这个问题,我们打开故障页面时,发现了页面直接无法响应,无法打开控制台,也无法调试。这个浏览器都处于未响应的状态,无法关闭。 image.png

寻找问题

个人第一感觉觉得代码中是不是哪里写了死循环,才导致这个问题。于是乎就去代码中去寻找出现死循环的点,检查了半天始终没有查找到问题所在。后面去询问了小伙伴给出的建议去查看路由是不是出现问题,打开前端路由部分代码和检查了数据也没有发现任何问题。

image.png

后面在本地测试起来居然发现是可以的,继续排查,推断是不是打包有问题,将项目在本地打包运行dist文件,发现也没有出现页面无响应。

  • 不能利用控制台输出的信息来排查错误
  • 不能通过打断点的方式来排除错误

image.png

找出问题

第二天回到工位后又检查了代码,过程中果然发现了一个可疑点,使用AntDesign DatePicker控件设置默认为当前时间是调用了dayjs()。

1708591291837.jpg

解决问题

查看了一下代码更新记录,前几天将Vue版本做了迭代升级,Vue迭代后的版本和dayjs()不匹配的原因,后续将Vue版本退回原来的版本,发现居然可以了。 在度娘查找了原因,给出的解释是这样的:

image.png

总结

从毕业到现在就很想发表一篇关于技术相关的文章,突然有一天发现了有意思的bug,就尝试的记录下来,当我拿到这个bug的时候也是一脸懵逼,这个功能我明明没有迭代过代码,却出现了问题,还是挺奇怪的,其中发生了很多曲折,解决了这个问题,当然啦其中肯定有不足的地方,希望大家多多吐槽。