热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

修复一个Bug竟耗时两天?真的有那么复杂吗?

修复一个Bug竟然耗费了两天时间?这背后究竟隐藏着怎样的复杂性?本文将深入探讨这个看似简单的Bug为何会如此棘手,从代码层面剖析问题根源,并分享解决过程中遇到的技术挑战和心得。

点击上方“Java基基”,选择“设为星标”

做积极的人,而不是积极废人!

源码精品专栏

 
  • 原创 | Java 2020 超神之路,很肝~

  • 中文详细注释的开源项目

  • RPC 框架 Dubbo 源码解析

  • 网络应用框架 Netty 源码解析

  • 消息中间件 RocketMQ 源码解析

  • 数据库中间件 Sharding-JDBC 和 MyCAT 源码解析

  • 作业调度中间件 Elastic-Job 源码解析

  • 分布式事务中间件 TCC-Transaction 源码解析

  • Eureka 和 Hystrix 源码解析

  • Java 并发源码

来源:网络

  • @条件状语从句

  • @王杰

  • @fire wind

  • @知乎网友

  • @树下一条河

  • @知乎用户

  • @玉临轩

  • @weishuo1999

  • @知乎用户


在 Quora 上有一个和 Bug 相关的热门问答帖:《What's the hardest bug you've debugged? | 你调试过的最难 Bug 是?》。

我大中国的程序员攻城师们遇到最难调试的bug是什么呢?

本文整理了程序员调试Bug的种种传奇经历。

@条件状语从句

写JS,自己手机没电了,拿同事老张的安卓机调试,很简单的获取用户微信昵称,结果死活获取不到,一直显示为null。应该是跨平台问题,因为之前在自己iPhone上是没有bug的,拼命看api文档,但是都没提到这方面。急死我了。

刚刚老张告诉我他的昵称就是null。

@王杰

百分之百出现的bug都是好bug,多线程里的有些bug能重现已经是一个惊喜了。。。

@fire wind

从前做一个嵌入式的项目,调试工具巨难用而且随机挂掉,也没有core dump,只能手工添加printf看日志调试bug。有一天出现了一个bug,查看打印日志,修改,第二天同样的bug又出现了,但是在不同的源码处。继续添加日志,查看,修改,这过程重复了n次,每次出现bug的位置都不一样。我突然醍醐灌顶,查看了下printf的源码............tnnd谁把printf函数给重载了,写入还不做校验,会写到别的内存位置上去。就像是我拿个锤子到处敲地鼠,地鼠其实住在锤子里.........

@知乎网友

难倒计算机系同学的三大问题 3.为什么上不去网 2.为什么电脑打不开 1.为什么电脑这么慢

@树下一条河

最难调的BUG就是,策划:“感觉不对。”

@知乎用户

某医院部署的网络,不定期会有半夜断网或者不稳定情况,但天亮就会恢复,客户投诉抱怨。

调试过程:现场查看全部网络硬件正常,查看log发现有一台汇聚交换机有反复重启动作,在重启前有高温告警。于是重点关注该机器。

该机器放在一个机柜中,机柜在一个小储藏间的角落里,储藏间不大,一边还摆着张破沙发,正好可以坐着用电脑调机器,但是实在查不出什么可疑情况会导致过热,因为投诉等级较高,于是连夜蹲守。

第一夜无事。第二夜无事,到半夜,忽然进来个小护士,吓一跳,说,哟怎么有人啊,然后就走了。一夜无事。第三夜无事,到半夜,又来个小护士,探头看一眼走了。一夜无事。第四夜无事。于是告诉院方,发现问题马上打电话,回家。第五夜出事,赶到时已是早上,网络已经正常,查看log发现还是过热告警重启,时间在半夜3点多。联想到前几天的小护士,于是问院方半夜是否有人进入,答一些值夜班的护士会偶尔在里面休息。

于是找到进去的小护士,问是否动交换机,答没有,问进去后做了些什么动作,答只是睡觉。再追问,除此之外呢?答:就是那个排风扇太吵,睡觉的时候把电源拔了。

她把机柜的冷却排风扇电源拔了!她把机柜的冷却排风扇电源拔了!她把机柜的冷却排风扇电源拔了!她以为就是个通气风扇!

居然睡醒走了还知道再插回去 〒_〒 你有胆拔插头你倒是别插回去啊…

@玉临轩

以前写个小程序 一直没反应,检查了每一行,没问题, 代码都重写了好几遍还是不行。好几天都没有解决这个问题 最后索性不管它,过了一星期,拿出来用,竟然TM自己好了!自己好了!好了!

@weishuo1999

我之前是做电商的,某较大的电商平台,突然有一天,C2C的店主反馈,看到的订单不是自己的,看到后台的商品列表也不是自己的。

当时在睡午觉,看到这个问题,立马吓醒了,平时5个投诉就是一个故障单,那还都是一点体验上的小问题,这种订单混乱,商品混乱的错误,真是要紧急死了

于是,主管,总监都来看这个问题,一群大佬在后面看着,赶紧找最近几天的发布,测试情况,一个个回退,一个个检查,最后都无法解决问题,要知道时间一分一秒过去,半个小时还解决不了就要出大事了

后续又有用户来投诉,直接电话联系,远程控制电脑,发现操作起来巨慢,于是顺口问了一下用户的网络是什么网络。

结果他说是:“某城宽带”,一瞬间,有点感觉了,继续问其他几个投诉的客户都是“某城宽带”,然后我们打电话到那个宽带的运营商,得到的回复是“年底了,为了省流量,他们做了一部分缓存”

他们做了缓存 做了缓存 缓存 存

可是为毛TM的动态请求还做缓存啊,修改商品和订单的时候,随机返回成功或者失败。

@知乎用户

做设计以来遇到的最大bug就是曾经老板祭出的必杀技!老板:这个感觉不对! 本工:哪里感觉不对?老板:体现不出雅致那种情怀~ 本工:能具体点么... 老板:你是设计师! 你问我?本工:...



欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢:

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。


推荐阅读
author-avatar
手机用户2602921437_525
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有