《送給初學者的五個除錯小技巧》

2021-07-25 15:41:19 字數 1039 閱讀 1696

嘿嘿,有的小夥伴心裡肯定想「怎麼把這種編譯器都能查出的東西放在第乙個?沒水準!」。我這裡的這個拼寫錯誤並不是環境能自動查出的物件名稱或者關鍵字有誤,而是你自己定義了多個型別相同而且名稱相似的物件後,在使用時用錯了。這種情況,在有拼寫提示的環境裡更容易發生,而且很難察覺。

怎麼解決這種問題呢?當然在敲得時候注意一下檢查是最好的了,源頭上便可以解決。如果在除錯時出現諸如:屬性怪異、陣列長度怪異、異常報出的行數外層有其它關鍵物件時可以通過「監視」逐一排除的方式進行盤查,便很有可能解決這種問題。

在c++程式除錯時很容易出現程式無法進行下去的異常,一定要跟進底層去看堆疊的異常,這樣即便你不了解底層的機理也可以多為你提供一些問題的特徵。

另外,try catch 語句塊的濫用是對程式的不負責任。異常的丟擲必須是上一層可以解決,否則危害整體,對整個軟體造成難以估量的影響。

當我們的異常資訊為我們指出我們的錯誤,卻又讓我們感覺出錯的地方不明確的時候,你需要手寫出所有涉及的物件、陣列。這可不是犯傻,而是為了頭腦清晰,很多情況下監控的「物件們」並不一定是出錯的地方,但是通過你冷靜地一遍書寫之後,很可能靈光一現,覺察到可能關聯慎密的其它變數。

畫**決問題是我在學習資料結構時獲得的經驗,很多情況下,越是複雜、特別的資料結構越是要自己動手畫一畫來思考問題出現在什麼地方。另外,在畫圖的過程中你還很可能想到完善這個結構的方案,因為你面對的不是冷冰冰的**而是活靈活現的圖紙。

**是我們解決問題的又一利器,小夥伴們知道在我們的vs2010中除錯的時候總會出現各種變數的動態,這往往讓我們非常愉快。但是有的時候我們卻要自己畫一畫小**,當然不是做這種監視的工作,而是幫助我們分析多屬性多功能的物件,我們可以通過類似uml的書寫對該物件逐一排除不需要進行「公升級」的地方。

很多同志都有這樣的經驗「對待bug一定要嚴懲而後快,絕不姑息!」這當然是非常對的,這有助於我們的程式越來越好。但是我們解決這種入世的事要有一顆出世的心呀,我們很容易在急躁的時候陷入某一種解決方案裡,而且這種解決方案很有可能是那種初期略見成效,而後愈發捉襟見肘的型別。所以當我們出現乙個問題時,先不要急著大動干戈,嘗試著聽聽各路英雄的見解,在一種方法嘗試有很大失敗之可能就啟動另一方案,押寶的行為很不可取。

10 個 Python 初學者必知編碼小技巧

技巧 1 字串翻轉 a codementor print reverse is a 1 翻轉後的結果為 rotnemedoc技巧 2矩陣轉置 mat 1,2,3 4,5,6 zip mat 1,4 2,5 3,6 技巧 3a 1,2,3 將列表中的三個元素分拆成三個變數 a 1,2,3 x,y,z ...

10個Python 初學者必知編碼小技巧

a codementor print reverse is a 1 翻轉後的結果為 rotnemedoc ps 很多人在學習python的過程中,往往因為遇問題解決不了或者沒好的教程從而導致自己放棄,為此我整理啦從基礎的python指令碼到web開發 爬蟲 django 資料探勘等 pdf等 需要的...

VB6 0初學者的十個程式設計小技巧

1 如果一行程式太長,能不能換行?vb的程式 是允許換行書寫的,只要在每次換行的最後乙個字元加上換行字元 就可以了。例如 sub picmove frm.picture2.left frm.picture1.left 加上換行符 frm.picture1.width end sub 2 如何在設計的...