入門

#

DevTools 包含一個完整的原始碼級別偵錯程式,支援斷點、單步除錯和變數檢查。

當您開啟偵錯程式選項卡時,您應該會在偵錯程式中看到應用程式的入口點原始碼。

要瀏覽更多應用程式原始碼,請點選右上角的“”,或按 Ctrl / Cmd + P。這將開啟庫視窗,允許您搜尋其他原始檔。

Screenshot of the debugger tab

設定斷點

#

要設定斷點,請單擊原始碼區域的左側邊距(行號標尺)。單擊一次即可設定斷點,該斷點也應顯示在左側的“斷點”區域中。再次單擊可刪除斷點。

呼叫堆疊和變數區域

#

當您的應用程式遇到斷點時,它會在此處暫停,並且 DevTools 偵錯程式會在原始碼區域顯示暫停的執行位置。此外,“呼叫堆疊”和“變數”區域會填充當前暫停的 isolate 的呼叫堆疊,以及選定幀的區域性變數。選擇“呼叫堆疊”區域中的其他幀會更改變數的內容。

在“變數”區域中,您可以透過展開單個物件來檢查它們,檢視它們的欄位。將滑鼠懸停在“變數”區域中的物件上會呼叫該物件的 toString() 方法並顯示結果。

單步除錯原始碼

#

暫停時,三個單步除錯按鈕將變為可用。

  • 使用“單步進入”進入方法呼叫,並在該呼叫方法的第一行可執行程式碼處停止。
  • 使用“單步跳過”跳過方法呼叫;這將逐步執行當前方法中的原始碼行。
  • 使用“單步退出”退出當前方法,而無需在任何中間行停止。

此外,“繼續”按鈕會繼續應用程式的正常執行。

控制檯輸出

#

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

中斷異常

#

要調整“中斷異常”行為,請切換偵錯程式檢視頂部的“忽略”下拉選單。

僅在斷點被應用程式程式碼視為未捕獲時,中斷未捕獲的異常才會暫停執行。中斷所有異常將導致偵錯程式暫停,無論斷點是否被應用程式程式碼捕獲。

已知問題

#

執行 Flutter 應用程式的熱重置時,使用者斷點將被清除。

其他資源

#

有關除錯和效能分析的更多資訊,請參閱 除錯頁面。