Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

除錯工具總覽

本指南將介紹引擎中可用的除錯工具概覽。

Godot 內建強大的除錯器與效能分析工具,能協助你追蹤錯誤、在執行時檢查遊戲、監控重要指標,以及測量效能。還能在遊戲運作時視覺化碰撞方塊與導航多邊形。

你也可以選擇遠端除錯執行於其他裝置上的遊戲,並在遊戲執行時即時重新載入場景或程式碼的變更。

輸出面板

輸出面板可讓你查看專案或編輯器輸出的文字(例如由 @tool 腳本輸出的內容)。更多資訊請參閱 輸出面板

除錯器面板

Godot 的許多除錯工具都屬於「除錯器」面板。你可以在 除錯器面板 取得更多相關資訊。

除錯選單選項

在編輯器內執行遊戲時,你可以開啟或關閉一些常用的除錯選項,這些選項有助於你除錯遊戲。

你可以在編輯器的 除錯 選單中找到這些選項。

../../../_images/overview_debug.webp

以下是這些選項的說明:

使用遠端除錯部署

啟用此選項後,使用一鍵部署時,產生的可執行檔會嘗試連線到本機 IP,以便進行遠端除錯。此功能主要用於遠端(例如行動裝置)除錯。若只需在本機使用 GDScript 除錯器,則無需啟用。

使用網路檔案系統進行精簡部署

此選項可加快大容量遊戲於遠端裝置上的測試速度。

啟用 使用網路檔案系統進行精簡部署 後,部署遊戲時不會匯出完整遊戲,而是建立一個最小的可執行檔,編輯器會透過網路提供專案檔案。

此外,在 Android 裝置上,專案會透過 USB 線進行部署,以加快速度。

顯示碰撞形狀

啟用此選項後,碰撞形狀與 RayCast 節點(2D 與 3D)會在運作中的專案裡以可視方式顯示。

顯示路徑

啟用後,路徑節點所使用的曲線資源會在遊戲運作時顯示出來。

顯示導航

啟用後,導航網格和多邊形會在執行中的專案中顯示。

顯示迴避物件

啟用此選項後,避障物件的形狀、半徑與速度都會在運作中的專案中顯示。

偵錯 CanvasItem 重繪

啟用此選項後,2D 物件的重繪請求會在執行中的專案中以閃爍效果顯示,有助於偵測低效能模式下的問題。

同步場景變更

啟用此選項後,無論在本機或遠端裝置,只要你在編輯器更改場景,運作中的專案都會即時同步。若搭配網路檔案系統使用,遠端同步效率會更高。

同步腳本變更

啟用後,於編輯器修改腳本時,運作中的專案會即時重新載入變更。搭配網路檔案系統於遠端裝置使用時,效率更佳。

保持除錯伺服器開啟

啟用後,編輯器的除錯伺服器將保持開啟,並可監聽從編輯器外部啟動的新除錯連線。

自訂執行實例...

這會開啟一個對話視窗,讓你指定要同時執行多少個遊戲實例,並可為每個實例設定命令列參數。此功能特別適合開發與除錯多人遊戲時使用。

../../../_images/customize_run_instances.webp

啟用多重實例

啟用此選項後,當你執行專案時,編輯器會同時啟動多個專案實例。

下方可選擇要同時執行的實例數量。

如果啟用但只設為 1,效果與未啟用此功能相同。

主要執行參數

這些參數會傳遞給每個執行的專案實例,除非為某個特定實例啟用「覆寫主要執行參數」。

請注意,這些參數需以空白分隔。

小訣竅

你可以在腳本中透過 get_cmdline_args 取得這些參數。

警告

即使未勾選「啟用多重實例」,執行專案時仍會傳遞這些參數。

主要功能標籤

這些功能標籤會傳遞給每個實例,除非在特定實例啟用「覆寫主要標籤」。

覆寫主要執行參數

啟用此選項後,執行專案時,「主要執行參數」中的參數將不會傳遞給此特定實例。

啟動參數

這些是只會傳遞給此特定執行實例的參數,除非啟用「覆寫主要執行參數」,否則會與「主要執行參數」合併。

覆寫主要標籤

啟用此選項後,「主要功能標籤」中的標籤將不會傳遞給此特定實例。

功能標籤

這些標籤會傳遞給此特定實例,除非啟用「覆寫主要標籤」,否則會與「主要功能標籤」合併。

警告

若需傳遞「User」參數,並在腳本中用 get_cmdline_user_args 取得,需在參數前加上兩個減號及一個空白,例如 -- one two three

請注意,這些減號會套用到每個實例的「啟動參數」,當主參數與啟動參數同時存在時,可能會造成混淆。

例如,若你在「主要執行參數」填入 -- one two three,而「啟動參數」又填入 -- four five six,最終命令列會變成 one two three -- four five six,這是因為「啟動參數」中的 -- 也會被加上。

腳本編輯器除錯工具與選項

腳本編輯器有專屬的除錯工具,可搭配中斷點使用,還有兩個選項。這些中斷點工具也可於除錯器的 Debugger 分頁中找到。

小訣竅

您可以透過點選腳本編輯器左側的裝訂線(行號左側)來建立斷點。將滑鼠懸停在該排水溝上時,您會看到出現一個透明的紅點,點擊放置斷點後,該紅點會變成不透明的紅點。再次點選紅點即可刪除斷點。以這種方式建立的斷點在編輯器重新啟動後仍然存在,即使退出編輯器時未儲存腳本也是如此。

你也可以在 GDScript 腳本中使用 breakpoint 關鍵字,於原始碼內建立中斷點。與用滑鼠點擊行號邊緣建立的中斷點不同,這種做法可讓中斷點隨版本控制同步到不同機器。

../../../_images/overview_script_editor.webp

中斷點 按鈕會像中斷點一樣導致腳本的中斷. 繼續 使遊戲在中斷點處暫停後繼續. Step Over 進入下一行程式碼, 如果可能的話, Step Into 進入一個函式. 否則, 它與 Step Over 做同樣的事情.

使用外部編輯器除錯 選項可讓你用外部編輯器除錯遊戲。你可在 編輯器設定 > 快捷鍵 > 除錯器 設定此功能的快捷鍵。

當偵錯器在斷點處中斷時,腳本編輯器的裝訂線中會顯示綠色三角形箭頭。此箭頭指示偵錯器中斷的程式碼行。

除錯專案設定

專案設定中有 Debug 分類,下有多個子分類可設定各種除錯相關選項。如需調整這些設定,請先啟用 進階設定

設定

這些都是一些常規的設定,比如將目前的 FPS 列印到**輸出**面板,剖析時的最大函式量等。

檔案日誌

你可以於此設定將主控台輸出與錯誤訊息記錄到檔案。

GDScript

這些設定可讓你啟用或停用特定的 GDScript 警告(如未使用變數警告),也能完全關閉警告。詳細請見 GDScript 警告系統

著色器語言

這些設定能讓你切換特定著色器警告(例如未使用變數),或關閉所有警告。

Canvas 項目

這些設定用於偵錯 Canvas 項目的重繪行為。

形狀

Shapes中你可以調整形狀的顏色, 這些形狀只出現在除錯的目的, 如碰撞和導覽形狀.

場景面板遠端檢視

在編輯器中執行遊戲時,場景 面板上方會出現 遠端本機 兩個選項。選用 遠端 時,你可以檢查並修改運作中專案裡的節點參數。

../../../_images/overview_remote.webp

備註

編輯器中也有部分與除錯相關的設定,可在 編輯器設定Network > DebugDebugger 區段找到。