天天看點

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾
本文是對閱讀微信公衆号【Google開發者】的小技巧 | 在 Android Studio 調試應用 (上)和小技巧 | 在 Android Studio 調試應用 (下)兩篇文章的筆記,需要深入了解的可以直接去看公衆号的文章。

Android Studio Debug小技巧

  • 快速啟動調試器
  • Log
    • 設定Log Header
    • 過濾
    • 折疊
  • 斷點
    • 移動斷點
    • 條件斷點
    • 依賴斷點
    • 挂起線程
    • 資料記錄
    • 斷點禁用
    • 斷點分組
  • 結尾

快速啟動調試器

在之前我debug都是點選那個綠色的小蟲子,然後Android Studio會重新安裝app,後來同僚告訴我,可以直接選擇帶箭頭的小蟲子,就可以直接把已經安裝的app開啟調試的模式,免去了再安裝一遍的過程。

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

Log

設定Log Header

通常我們再Log中看到的Log資訊的完整版是這樣的

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

其中包括了時間,程序和線程id,包名和對我們最重要的日志資訊。如果不需要前面的那些header,則可以在Log的設定中将Header隐藏

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

隐藏Header後的效果:

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

過濾

Log的過濾是我們快速定位資訊最有效的方式,使用起來也很簡單,隻需要在Log的搜尋框中輸入需要搜尋的資訊,就會把其他資訊過濾掉,同時還支援正規表達式。

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

當然還能更精細地設定過濾器,對于常用的過濾器還可以儲存。

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾
不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

折疊

有時我們會在Log中看到大量重複的資訊,嚴重幹擾我們的注意力,或者我們這個時候就可以選擇部分重複的文字,右鍵選擇Fold Lines Like This将這部分重複資訊折疊:

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

斷點

移動斷點

如果您發現斷點添加的位置不合适,除了清除并重設斷點外,您還可以将目前的斷點拖動至您想要的地方。這個功能十分有用,因為移動操作保留了該斷點的設定,其中包括了許多本文接下來将會介紹的特性。

以上是文章中的原話,但我并不能了解,斷點位置不合适的話,我在合适的地方再加一個斷點再把這個斷點取消不行嗎,沒有想到使用場景。

條件斷點

條件斷點對我來說用處很大,比如在一組1-10的循環中,需要看到8的執行,如果不加條件,就隻能一次次的進入,從1依次到8,而加了條件後效率立刻提升直接到8。

使用的方法是在斷點處右鍵,并在condition中添加條件

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

依賴斷點

依賴斷點能夠設定debug時的程式執行路徑,跳過非路徑的斷點,并明确程式執行的邏輯。

設定方法是在斷點右鍵,進入more選項,并在Disable until breakpoint is hit選框中,選中您想要依賴的斷點:

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

挂起線程

debug時預設會在斷點中斷所有線程,而挂起線程可以隻中斷斷點所線上程。

挂起目前線程隻需要在斷點右鍵,并且選中 Suspend 設定中的 Thread 選項:

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

資料記錄

在debug時,我們經常需要檢視資料的資訊,通常資訊會在代碼右側顯示,但是這種情況是在執行了代碼之後,有時候就會出現代碼在最後一行,而debug後就進入下一個類或者别的哪了。print資料也是一個選擇,但這又需要改代碼然後重新debug。

這個時候你就可以在斷點處右鍵禁用Suspend并開啟Evaluate and log,填入你需要輸出的資料,這樣當debug的時候會跳過此斷點,并将資料列印在Log中

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

斷點禁用

當需要跳過斷點,但又不想把斷點删除怎麼辦,可以選擇禁用斷點,隻要右鍵并取消勾選enabled就可以了

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

斷點分組

當需要批量開啟和禁用斷點呢,就可以把斷點進行分組,然後批量控制。

在斷點的管理頁,選擇所需要配置的斷點,右鍵選擇Move to Group,然後就可以批量控制了。

不會還有人不知道這些Android Studio Debug技巧吧快速啟動調試器Log斷點結尾

結尾

以上是我對自己所需要的調試技巧的一些記錄,在Google的文章中還有更加進階的技巧,但我目前還用不到就是了,感興趣的可以去看一下。

如果有大佬有别的可以提高效率的Debug技巧,還請在評論區賜教。