1、條件斷點
在進行代碼調試時,如果碰到循環,但是隻需要在某種情況下才需要斷,例如for循環 i=6 時,這個時候使用條件斷點,可以很友善的實作。
條件斷點的實作也很簡單,隻需在普通斷點上單擊滑鼠右鍵,彈出下面的菜單(記住界面左下角那個快捷鍵,可以打開Breakpoints界面,後面會用到):
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX9QzVkpHZtJGasNjYohmMZZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TNwkzM1ITMwETOygDM3EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
然後在condition裡面寫上 i=6 的條件即可,debug時就會隻在符合條件時,才會進入斷點。
2、異常斷點
程式出現崩潰,比如報NullPointerException等異常,通常情況是先複現問題,再抓log,打斷點分析異常等,實際上不必這麼麻煩,AndroidStudio提供了自動捕獲異常的功能,就是異常斷點功能。開發者不必自己去可能出現異常的地方打斷點。隻需打開breakpoints界面進行相關操作即可。
依次點選工具欄的Run—->View Breakpoints…即可打開breakpoints界面(或則使用前面提到的那個快捷鍵):
點選左上角的“+”。選擇JavaException Breakpoints,然後選擇NullPointerException即可。
這樣開發者就不用自己去打斷點,直接Debug運作就可,系統會自動在出現NullPointerException異常的地方停頓并打上斷點。如圖:
3、其他斷點
在Breakpoints界面,還有很多功能,比如
日志斷點:選擇Evaluate and log:可以在下面輸入框裡面輸入log日志資訊,在debug時,這些日志資訊就會被打出。這樣就不用在代碼裡面寫log,省去再編譯運作的煩惱。
臨時斷點:将光标移到斷點所在行,選擇Remove once hit:(或則直接使用快捷鍵,我的是ctrl+Shift+Alt+F8),斷點上就會出現一個“1”,這就是臨時斷點,執行一次斷點會自動消失。