錯誤定位 我來了 你走不

2022-03-14 17:43:01 字數 2054 閱讀 5124

在咱們碼農生涯,錯誤可謂:「我不來他不走,我來他也不一定走」。bug不離不棄的伴隨這我們。怎麼樣找到錯誤,定位錯誤是關鍵,很多情況下我們往往解決錯誤就那麼一秒鐘的事情,而定位錯誤這需要漫長的折磨。以下記錄 rift 即: 「再現(reproduce)、隔離(isolate)、改正(fix)、測試(test)」

在rift之前應該還有一定前提

1、保證程式是最新穩定版本(有時候我們因為乙個檔案沒有更新到某台伺服器而引起了一頓錯誤的折騰,最後發下原來某個檔案不是最新的。避免這個問題必須要有一套管理更新版本的相關機制)

2、在定位修改前必須得做備份

3、一定要做好變更歸檔記錄(很多情況下,我們修復了乙個bug沒有記錄,下次遇到類似問題單憑記憶去針對變更,這往往會引起錯誤的判斷)

有了以上的準備工作我們可以開始 rift了

在進行修改之前,務必要再現系統產生的問題。如果沒有親眼看到問題的表現 很可能無法正在的定位到問題。當我們沒有這個意識的時候,收到乙個bug報告之後,知道系統出bug了,但是沒有通過問題的再現就嘗試進行某些修改,然後讓使用者測試下。這種做法偶爾會湊效,很多情況下會出問題,那麼使用者會以為公司的技術把他當成了小白鼠在做實驗,這對公司的業務影響是可想而知的。

事實上成功的再現問題已經是完成了一半的修改任務,最難解決的問題莫過於那些很少發生或者我們預期無法測試到的問題,這類問題情況下,我們正需要收集我們任何可以收集到的資訊反饋。並且利用任何可以使用的工具和環境,直到成功的建立了乙個測試方案。利用問題再現 和配合問題反映的測試環境。在我們的測試程式上對bug進行接下來的工作

成功的再現問題之後,我們可以開始著手找出問題內在的原因。有時候再現問題不能為我們提供任何線索。在分離階段,我們需要深入的研究問題的本身,找到確切的內在原因。分離階段目標就是確定引發問題的正真原因,在某些情況下,問題根源是由於一些組合因素所導致的,這也使得情況更我複雜,但是我們查詢原因是相同的。隔離又有以下寫隔離技巧(這裡主要講web專案的隔離辦法)

1、失效隔離(比如伺服器突然頻寬很大,訪問很卡,我們可以在不影響這個程度運營的情況下乙個乙個的站點暫停的方式,來觀察到底是哪個站點問題)

2、only 1(然出現問題的站點以最簡單的問題工作,比如我們單獨寫個頁面甚至可以是純html頁面,看能不能正常執行)

3、折半法(這個其實就是演算法中的 二分法查詢,定位問題)

5、all but 1(當我們定位到了問題時候,我們利用問題的各個因素在把相應問題**執行一遍,確保問題沒有錯誤的定位)

一旦找到了問題的錯誤原因,rift過程的一步工作就是更正錯誤,這是一項我們可以控制的任務,或者說是一項可以讓相應技術員去做的事情。因為當我們找到了問題,基本上就有了問題的解決思路,這個時候相應交給任何乙個程式設計師都能給做好。

測試步驟一般包括三個:

1、測試再現(echosong在遇到的技術人員中包括我自己有些時候,修復了問題以後就萬事大吉,不去進行修改測試,就把問題丟給了售後,或者反饋個專案管理人員。這樣倒是客戶或者測試部再測反饋問題沒有解決,而程式設計師和專案管理人說 「呀,這個問題不是早解決了麼。怎麼還有問題呀」,這種情況太不應該發生,所以修改錯誤以後,務必要進行自我的測試步驟)

2、修改完畢後,務必清理系統執行環境。(在測試工作解決後,需要執行清理工作,包括一處所謂臨時使用者,臨時問題解決,注釋**,斷點列印。svn的正確提交。echosong也遇到過 在svn提交環境以後竟然有 比如 「php: exit("這裡是除錯")」這種**存在。這是非常離譜的)

3、整理歸檔。在修改後某些教訓值得我們一文件的形式 或者svn提交時候說明(最好是單獨文件記錄) 進行記錄下來,共享給開發團隊,這樣不管是以後自己在處理問題,還是團隊其他人都會受益匪淺。

乙個優秀的程式設計師並在不於精通多少種語言,也並在於能設計多麼高深的牛逼的系統架構,而在於解決 問題和 處理的方法上。良好的錯誤定位技術遠遠超越於一些**牛人。因為這更考驗乙個人的做事條理和基本素質。程式生涯的您是否同意這種說法。如果同意請贊乙個o(∩_∩)o~

命運搶不走我的生活

為自己生活,誰也搶不走你什麼 為別人而活,永遠沒有自我。2003年以前,我應該是那種在別人眼裡幸福的女人吧,丈夫是北大乙個系的主任,兒子子尤聰穎可愛,那時的兒子雖然還未像後來那樣出名,但在我們生活的圈子裡,他早已是個小有名氣的天才了。那時的我,生活中只有丈夫和兒子。2003年,子尤的父親有了外遇,我...

醫生,你別說了,我走。

沒錯,今天我去醫院了。病,手掌季節性蛻皮,準備去買瓶vc 一直都是吃點vc就好的 一開始 的時候,聽說 科來了個老教授專家門診,的強烈建議我去。很好哦!比那些普通的醫生不知道高到 去了 我懷著戰戰兢兢的心情掛了個老大夫的號 老醫生就這樣看著我,小夥子,啥毛病啊 說明原因,老大夫就停不下來了 你這個啊...

帶不走的成都,迎來了「獨角獸」

此獨角獸非彼獨角獸,獨角獸的本質就是新和快。標準是創業10年左右,企業估值超過10億美元。然而在 2018中國獨角獸100強 中,成都兩家本土企業躋身其中,成為 成都智造 的黑馬。新經濟正席捲著未來,智慧型,大資料將全方位浸透我們的生活。醫聯創始人兼ceo王仕銳表示 成都作為國內新經濟發展頗具活力的...