使用偵錯器

入門

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

開啟偵錯器標籤時,您應該會在偵錯器中載入應用程式主進入點的原始程式碼。

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

Screenshot of the debugger tab

設定中斷點

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

呼叫堆疊和變數區域

當您的應用程式遇到中斷點時,它會暫停在那裡,而 DevTools 偵錯器會在原始程式碼區域中顯示暫停執行的位置。此外,呼叫堆疊變數 區域會填入暫停的隔離區的目前呼叫堆疊,以及所選取架構的區域變數。在 呼叫堆疊 區域中選取其他架構會變更變數的內容。

變數 區域中,您可以透過切換開啟個別物件來查看其欄位,以檢查它們。將滑鼠游標懸停在 變數 區域中的物件上會呼叫該物件的 toString() 並顯示結果。

逐步執行原始程式碼

暫停時,三個逐步執行按鈕會變為作用中。

  • 使用逐步執行來逐步執行方法呼叫,並在呼叫方法中的第一個可執行程式碼行中停止。
  • 使用跳過來跳過方法呼叫;這會逐步執行目前方法中的原始程式碼行。
  • 使用跳出來跳出目前方法,而不會在任何中間行中停止。

此外,繼續按鈕會繼續定期執行應用程式。

主控台輸出

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

中斷例外狀況

若要調整中斷例外狀況的行為,請切換偵錯檢視頂端的忽略下拉式選單。

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

已知問題

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

其他資源

如需有關偵錯和剖析的更多資訊,請參閱偵錯頁面。