Eclipse Debug調試的步驟與技巧


  • Debug調試的作用?

1). 跟蹤程序的運行過程,找出問題出現的地方,更快的解決問題(bug)

2). 梳理已有功能代碼的運行邏輯流程

  • 如何進行Debug調試?

1). 開啟Debug的一般步驟:

  1. 設置斷點 : 在某個方法體的特定行打斷點

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中添加一個過濾器,排除指定的包。

斷點分類:

  1. Line breakpoint : 方法體的某條語句行——
  2. Watchpoint(FieldPoint) : 成員變量聲明行
  3. Method breakpoint : 方法聲明行
  4. Exception breakpoint : 添加異常類型

了解java培訓開發技術知識,關注我,有更多精彩內容與您分享!

文章轉載鏈接:http://www.atguigu.com/jsfx/1823.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM