1. 程式人生 > >android商業專案中,Debug的使用技巧

android商業專案中,Debug的使用技巧

經驗之談

android開發中,與其說在處理邏輯,倒不如說在處理資料。資料從哪來,到哪去,如何分流,如何觀察資料完整性和合法性,如何進行資料的生產和消費,這都是很敏感的東西。高效的開發方式,我認為應該是這個樣子的(拋開UI層面):

首先,資料的輸出。不要以UI為準,UI輸出什麼資料,不能說明問題,需要用Log檢視完整的資料,在關鍵位置通過log進行輸出,在控制檯,使用TAG將專案相關Log過濾出來,所有的業務邏輯和資料走向一目瞭然。(因為連線實體機和虛擬機器都是會輸出系統日誌的,影響資料的直觀展現)

其次,利用debug進行關鍵資料排查,檢查資料生產是否符合預期效果,檢查資料傳導是否丟失,檢查錯誤發生節點
最後,就沒有最後了,主要就這麼幾個地方

DEBUG啟動方式

啟動debug模式,必須有斷點,這個是大家都知道的。但是如何打斷點,在什麼位置打斷點,這個根據個人需要,驗證什麼位置,這個位置上下都要打斷點,驗證資料進來是什麼樣子,驗證資料出去又是什麼樣子
方式一:打上斷點之後,通過debug as方式 釋出程式,但是這樣會比較慢
方式二:程式啟動起來之後,打上斷點。在控制檯,新增devices視窗,這個裡面能看到當前裝置和裝置執行程式。當前測試機裡面的執行程式名字就是app的包,然後選擇這個包名,把小蜘蛛加上,然後繼續操作,遇到斷點一樣進入debug模式

DEBUG除錯技巧

快捷鍵

快捷鍵有很多,具體使用哪些,需要各位朋友自己百度找列表。我在實際開發中,主要使用的是F6和F8。F6是程式執行下一步,F8是從一個斷點直接跳到下一個斷點。

進入debug模式之後,選擇需要觀察的欄位,滑鼠右鍵,會有一個比較長的選擇列表。其中選擇 watch,這個變數攜帶的資料就會在右上角顯示,顯示格式就是 name values。name是你選擇的欄位名字,vaues 就是這個欄位攜帶的資料。另外一種檢視資料的方式就是,同樣選擇欄位,右鍵,列表有這樣一個選項inspect。選擇inspect 這個欄位所有資料就會以一個彈窗的方式展示出來,比較方便,我習慣這樣使用。

體會

在開發過程中,很多時候,感覺有些問題出的很詭異,沒有思路,貌似是IDE的bug一樣。我個人覺得,出現一些不可預期的問題,沒有解決思路的時候,一般都是開發方式還有就是編碼不規範導致的。為什麼會說是開發方式,這個和每個人的思維方式性格有關係,有人性格內向細緻,所以問題相對少一些,有人性格奔放,細節問題肯定不會少,所以明白自己性格,開發慎重,留神規避細節問題。另外就是編碼不規範,主要是該有的得有,比如Log日誌比如註釋資訊,不該有的不能有,比如System.out.println。
今天先聊到這裡。