跳至主要內容

使用除錯器

入門

#

DevTools 包含完整原始碼層級的除錯器,支援中斷點、逐步執行和變數檢視。

當您開啟除錯器索引標籤時,您應該會在除錯器中看到已載入的應用程式主要進入點的原始碼。

若要瀏覽應用程式的更多原始碼,請點擊程式庫 (Libraries) (右上角) 或按下 Ctrl / Cmd + P。這會開啟程式庫視窗,讓您可以搜尋其他原始碼檔案。

Screenshot of the debugger tab

設定中斷點

#

若要設定中斷點,請點擊原始碼區域的左邊界 (行號尺規)。點擊一次會設定中斷點,這也會顯示在左側的中斷點 (Breakpoints) 區域中。再次點擊會移除中斷點。

呼叫堆疊和變數區域

#

當您的應用程式遇到中斷點時,它會在該處暫停,而 DevTools 除錯器會在原始碼區域中顯示暫停的執行位置。此外,呼叫堆疊 (Call stack)變數 (Variables) 區域會填入暫停的隔離區 (isolate) 的目前呼叫堆疊,以及選定框架的局部變數。在 呼叫堆疊 區域中選取其他框架會變更變數的內容。

變數 區域中,您可以展開個別物件來檢視其欄位,藉此檢視這些物件。將滑鼠懸停在 變數 區域中的物件上會呼叫該物件的 toString() 方法並顯示結果。

逐步執行原始碼

#

當暫停時,三個逐步執行按鈕會變成可使用。

  • 使用進入 (Step in) 逐步執行方法調用,停在該調用方法的第一個可執行行。
  • 使用跳過 (Step over) 逐步跳過方法調用;這會逐步執行目前方法中的原始碼行。
  • 使用跳出 (Step out) 逐步跳出目前方法,而不停在任何中間行。

此外,繼續 (Resume) 按鈕會繼續執行應用程式。

主控台輸出

#

正在執行應用程式的控制台輸出 (stdout 和 stderr) 會顯示在原始碼區域下方的控制台中。您也可以在 記錄檢視中看到輸出。

在例外狀況中斷

#

若要調整停止例外狀況的行為,請切換除錯器檢視頂端的忽略 (Ignore) 下拉式選單。

在未處理的例外狀況中斷僅會在應用程式程式碼認為中斷點未被捕獲時才會暫停執行。在所有例外狀況中斷會導致除錯器暫停,無論中斷點是否被應用程式程式碼捕獲。

已知問題

#

當對 Flutter 應用程式執行熱重新啟動時,使用者中斷點會被清除。

其他資源

#

如需有關除錯和效能分析的詳細資訊,請參閱除錯頁面。