標籤:blog http ext 使用 資料 2014
今天在OSChina上看到了篇調試技巧,的確對於調試非常有協助,並且大部分我們都沒有用過,我們經常使用的調試是F5678四個鍵,如果你還想提高調試效率你可以嘗試著用一用,寫過代碼做過項目的人都知道調試是一件讓人頭疼的事情,有時候一個小的問題也會浪費你很長的時間,如果你不想再調試上面話費過多的時間,可以用最短的時間找出問題的原因來,可以從調試技巧入手,靈活掌握調試技巧的人也會大大提高開發速度和效率。
就像生活中出了各種各種的問題需要及時解決,不同的事情找到不同的解決方式,找到問題的關鍵所在,可以說一個會調試的人也是一個會生活的人,他(她)知道怎麼樣去調節生活,讓生活恰意。
簡單試了試一下這幾種方式調試,還是很好用的平時大家可以再調試過程中注意多使用,熟能生巧,只要使用多了也會熟練了。
邏輯結構
這個調試主要用在有邏輯結構的一些變數裡面,比如map、數組、集合等等,我做的這個項目中從前台到後台全是傳的map,從後台取出的資料也全是map都是結構化資料,所以,應用這個調試很直觀,下面兩張圖是在費邏輯視圖和邏輯視圖中的對比:
在沒有使用邏輯視圖時,map中的資料是鍵值對的方式排序的如果一多了之後會看著不舒服,想找到你想看的資料就需要一點一點的王后找很碼放,再來看一下邏輯視圖
邏輯視圖可以不僅僅給出了一堆資料,也給出了key/value的方式,清晰一些。
條件Debug
條件調試也就是斷點處寫一個條件,如果條件為真在斷點處就會停止,否則會跳過斷點,結合調試例子測試一下:
下面是我給了一個條件是:newid == 24 , 在第一個邏輯視圖中,可以看到id值等於24,說明條件為真,程式會在這裡停止。需要注意的是各種類型,newid是整形變數如果是一個字串比較就會出錯,在寫條件的時候注意類型否則會提示錯誤。
異常斷點
我們調試的目的是什嗎?是為了找出並解決程式中出現的錯誤,軟體工程中說的是解決發現或者未發現的錯誤,異常斷點是在出現異常的地方停止,也不用你去找出現了什麼異常,它自己會遇到異常停止在異常處中斷,此處你自己要設定異常的類型,即遇到什麼異常停止,我設定了一個除數為0的異常,將在除數為0出暫停,如下
expression和display視窗
這兩個視窗我們都不會陌生有點類似於VB裡面的立即視窗,在視窗裡面輸入運算式可以出現結構。為display視窗,取得map中值
下面為expression,結果是一樣的
這些調試技巧我試了試都挺好用的,為必要的調試增加了些效率,調試也是隨著代碼的複雜度慢慢變的精細,首先,需要粗粒度的調試猜測問題的大概範圍然後再將範圍縮小,逐步趨縮小、越來越小時就會用到上面這些很細微的調試技巧,有些可能開始用著反而會多花謝時間,這也是挺正常的需要反覆在調試中去熟悉和鍛煉才能形成一種應用意識。
逐漸形成利用這些的意識在以後不用想或者考慮你就會這麼去做、這麼去應用,熟記於心,很多意識的養成也會在反覆提醒和做的過程中形成,比如安全意識、吃飯意識等等,例如剛剛下過雨,當你在路邊走時旁邊有車從你身邊經過,賤到你身上一些水,下次再遇到這種情況,即使沒有車你也會在路裡面走,現在我也愛在路裡面走,一種意識。