遇到這些BUG,就認輸吧

調試、修改bug是每個程序員最頭疼的事,在發現bug時,首先要在自己代碼中找問題,然後可能在測試一萬次之後,把問題歸咎於編譯器,在所有的問題都不解決之後,再考慮硬件問題,這樣的過程,大概是程序員生涯最痛苦的事了。

那麼親們,你們見過或者遇到過最經典的BUG有哪些?

在此蒐集了一些經典的bug出現場景,你中了幾條?歡迎留言!

遇到這些BUG,就認輸吧

01

我的產品說明一更新,應該被封為Bug之王了吧?有比我厲害的嗎?評論區見~

遇到這些BUG,就認輸吧

再說一個當年我封神的一個bug。板子不間斷運行一週就會死機。每次復現都要一週。復現後並不能定位問題的位置,需要反覆復現排除。三週過去了,還沒定位。老大急眼了,讓我這個半神參與故障解決小組。我借了塊板子,插好上電等復現。半小時後,故障出現了。部門轟動了。為什麼我能半小時復現?因為我把數據線插反了。從此成神,江湖留下了我的傳說。

..........

02

之前有用戶反映每次用筆記本播放李娜的青藏高原時,電腦就會死機。經測試發現,唱到最後的“那就是青藏高...”時,硬盤產生了共振,振幅過大,讀寫頭讀不出數據了。為了抓住這個bug,朋友聽了一個月的青藏高原...

03

必須硬答一波了,這個bug找到原因的時候我簡直要死了。

本人在某外賣平臺負責前端工作,碰到了一個臨時大項目,需要把原來平臺的老代碼遷移一部分功能到新平臺中,我負責的就是物流相關模塊的代。開發過程中碰到一個莫名其妙的問題就是頁面在展示物流配送區域的地圖時候原本應該展示的地圖加載不出來,正常的效果應該是這個樣子的:


遇到這些BUG,就認輸吧


然而實際是這樣的:


遇到這些BUG,就認輸吧


碰到bug本來是很正常的問題,不出bug才不正常呢,開發過程中最怕的就是遇到這種第三方組件庫運行不正常的問題,因為你也不知道這個問題是出在你這裡還是組件庫出的問題,定位問題就要了老命。

於是我找到了地圖官網網站,把需要的所有接口的API文檔都看了一遍,每個需要用到的字段都核對一遍,然後逐條對比兩邊數據,然後發現不管我怎麼折騰特麼的地圖展示的永遠都是藍色背景。???WTF?

從下午一直折騰到晚上還沒弄好,正當我自暴自棄懷疑人生的時候無意碰到了鼠標的滾輪,於是地圖縮小了,突然我就發現地圖中出現了除了藍色背景之外的東西,然後我繼續縮小就發現地圖從始至終都運行的正常的,之所以背景全是藍色是因為特麼的這是海洋,後端哥們取不到上游的真實數據就隨便給我寫了個經緯度0 0 的數據,給我定位到大西洋了。


遇到這些BUG,就認輸吧


遇到這些BUG,就認輸吧

遇到這些BUG,就認輸吧

頓時我怒從心頭起,惡向膽邊生,站起來就要打人,一看周圍就我一人了,再看時間已經兩點半了,對接的後端哥們早就跑路了,沒辦法只能一邊提醒自己趕緊回去睡覺,一邊提醒自己明天上班別忘了帶刀。。。

04

說說做Android系統遇到的一個bug。測試妹子提了一個bug,說她在午休的時候看手機,屏幕亮度有時候會突然變亮或變暗。

我查看了log,沒有特別的異常,亮度確實是變化了。午休的時候,我們是關燈的,光線比較暗,難道這個時候手機的亮度自動調節會有bug? 我把手機放到桌子下面黑暗的地方,抓取log,查看亮度,沒有大的波動啊。但妹子卻表示這個問題她很容易復現。

於是我決定找妹子當面聊聊。這是一個萌妹子,眉清目秀的,眼睛大大的,戴著一副圓框眼鏡,微微泛著青光。在妹子描述她的測試過程的時候,我一直望著妹子美麗的面孔,不知道妹子有沒有男朋友呢,妹子都有些害羞了,轉過頭去,突然間,我興奮了,對妹子說,你轉過來,讓我看看,妹子驚愕的看著我。我繼續說,你的眼鏡反光。

答案確實如此,眼鏡反光,L-sensor接收到的亮度發生了變化,進而影響到了屏幕亮度。

解決的那一刻,我覺得我是柯南。

05

以前在看過有人幫學妹檢查代碼的故事,bug是學妹寫完總是出現隨機錯誤,檢查一遍發現有多餘字符,但讓他重新寫一遍就沒問題,反覆幾次如是。每次多餘的字符和位置都不一樣。

抓狂之後答主直接去找學妹要她當著自己面寫一遍。發現了問題:

學妹鍵盤放的太低,偶爾彎腰拿水杯什麼的時候,胸會壓到鍵盤……-_-||

06

這個bug的鍋誰來背?乘務員?列車長?聽說最後還是程序員背了。

遇到這些BUG,就認輸吧

07

之前在 Quora 上看到一個類似問題,我先大體引述一下: 作者為醫院急救設計了一個相關程序,在實驗室運行良好,但是每次在醫院調試都出 bug,作者只好到醫院去調試,而且是當著急救病人!!!

經過漫長的測試終於發現,是由於醫院使用的X射線導致電腦內存總是丟失幾個 bit 的信息,而導致程序出問題,最終通過把電腦的內存用鉛板隔起來解決!對了,還有一個類似例子的也是這樣,大體也是由於山上的輻射過大,導致電腦丟失bit信息。如我們普通程序猿對於這樣的 bug,只能是默默流淚了……我去,真的牛逼!

08

寫JS,自己手機沒電了,拿同事老張的安卓機調試,很簡單的獲取用戶微信暱稱,結果死活獲取不到,一直顯示為null。應該是跨平臺問題,因為之前在自己iPhone上是沒有bug的,拼命看api文檔,但是都沒提到這方面。急死我了。

......

剛剛老張告訴我他的暱稱就是null。

......

老張已被打死

......

前面誇張修辭,老張最後當然沒死,腿打斷了而已。

09

最後,來一個總結,所有人一定要注意報告bug的禮儀,那就是永遠也不要對程序員說:你的代碼有BUG。

因為他的第一反應是:

1、你的環境有問題吧?

2、傻嗶你會用嗎?

如果你委婉的說:你這個程序和預期的有點不一致,你看看是不是我的使用方法有問題?他本能的會想:操,是不是出BUG了!

遇到這些BUG,就認輸吧

最後,各位同學,你們遇到的最難調的bug有哪些呢?最讓你印象深刻的有哪些呢?


分享到:


相關文章: