- Debug調試的作用?
1). 跟蹤程序的運行過程,找出問題出現的地方,更快的解決問題(bug)
2). 梳理已有功能代碼的運行邏輯流程
- 如何進行Debug調試?
1). 開啟Debug的一般步驟:
- 設置斷點 : 在某個方法體的特定行打斷點

2. Debug運行

3. 進入Debug視圖模式, 運行至斷點處懸停


2). Debug視圖的組成
1 : 常用debug操作工具欄
2 : 線程堆棧視圖
3 : 變量視圖、斷點視圖
4 : 代碼視圖
3). debug常用操作工具欄

1 : 代表執行完當前斷點區域進入下一個斷點或結束
2 : 中斷程序
3 : 進入當前行的方法(單步跳入)
4 : 執行完當前行, 進入下一行(單步跳過)
5 : 跳出當前方法執行(單步跳出)
4). 線程堆棧視圖

5). 變量視圖

1 : 為變量名視圖,顯示當前代碼行中所有可以訪問的實例變量和局部變量
2 : 顯示所有的變量值
3 : 顯示當前選中變量的值
6). 斷點視圖

1 : 移除斷點
2 : 臨時停用/啟用斷點
- Debug調試Android應用
1). 打斷點: 在應用中可能有問題的代碼前添加斷點
2). debug運行: debug方式運行安裝應用
3). 情況一: 可能直接進入debug模式視圖, 並懸停在斷點處
情況二: 沒有進入debug模式視圖, 需要進行一定的操作才進入debug模式視圖
4). 進入debug視圖后, 利用debug工具欄和相關視窗進行調試
- Debug調試的常用技巧
1)、跳過、進入、返回
- F6-Step Over:移動到下一行。如果當前行有方法調用,這個方法將被執行完畢返回,然后到下一行。
- F5-Step Into:移動到下一步,如果當前的行是一個方法調用,將進入這個方法的第一行。
- F7-Step Return:繼續執行當前方法,當當前方法執行完畢的時候,控制將轉到當前方法被調用的行。
F8-Resume : 執行完當前斷點區域, 進入下一個斷點處/結束

2)、觀察變量的值
- 將鼠標停留在變量上 或者 選中變量后按Ctrl+Shift+i查看變量值
- 選中變量, 右鍵–>watch, 在Expressions View中添加監視。


3). 使所有的斷點暫時失效
- 按下此按鈕后, 所有的斷點都會直接路過, 再次點擊后所有斷點就會立即生效
- 有時在程序運行的某個階段不想要斷點, 但后面的階段又需要

4). 條件斷點
- 可以添加一個boolean類型的條件來決定斷點是否被跳過。如果條件為真,在斷點處程序將停止,否則斷點被跳過。

5). 異常斷點
- 在斷點view中有一個看起來像J!的按鈕,我們可以使用它添加一個基於異常的斷點,
- 例如我們希望當NullPointerException拋出的時候程序暫停,我們可以這樣:

6). 成員變量斷點(在Android Eclipse中不可用)
- 他允許當一個選定的屬性被訪問或者被更改的時候程序執行暫停,並進行debug。
- 最簡單的辦法是在類中聲明成員變量的語句行號左邊雙擊,就可以加入一個成員變量斷點。
7). 方法斷點
- 添加方式: 在方法聲明行左側欄雙擊
- 只要當前方法被調用或調用完成程序就會懸停


8). Step 過濾(少)
- 當我們在調試的時候摁F5將進入方法的內部,但這有個缺點有的時候可能會進入到一些庫的內部(例如JDK),
- 可能並不是我們想要的,我們可以在Preferences中添加一個過濾器,排除指定的包。

斷點分類:
- Line breakpoint : 方法體的某條語句行——
- Watchpoint(FieldPoint) : 成員變量聲明行
- Method breakpoint : 方法聲明行
- Exception breakpoint : 添加異常類型
了解java培訓開發技術知識,關注我,有更多精彩內容與您分享!
文章轉載鏈接:http://www.atguigu.com/jsfx/1823.html