Studio 提供了許多常見於整合開發環境 (IDEs) 的除錯工具和工作流程。這些工具幫助您在腳本執行時檢查和解決錯誤。
斷點除錯
斷點是檢查點,可以在特定行暫停或「中斷」腳本的執行。您可以利用這些暫停來檢查和除錯您的遊戲、監視 變數,並檢查 呼叫堆疊。斷點是除錯函數最有效的方法之一,因此它們是最重要的除錯工具之一。
管理
在 腳本編輯器 中,您可以隨時 插入 幾種類型的斷點並編輯斷點的配置,包括在遊玩測試會話期間。如果您在遊玩測試會話期間編輯斷點,這些編輯會在您結束會話後持續存在。您也可以編輯正在暫停您的遊玩測試會話的斷點,但更改不會在下一次遊玩測試會話之前生效。
插入
斷點有多種變體,可以在任何可執行代碼的行插入,如下所示:
要在代碼行插入標準斷點,請單擊其行號右側的邊距。或者,右鍵單擊邊距並選擇 插入 斷點。斷點圖標顯示為紅色圓圈。

禁用
要暫時禁用斷點而不 刪除 它,請使用以下任何工作流程:
- 單擊斷點的圖標。
- 右鍵單擊斷點的圖標並選擇 禁用斷點。
- 編輯 斷點並切換其 啟用 復選框。
禁用的斷點顯示為其啟用圖標的空心版本,例如,禁用的標準斷點為空心圓,或禁用的日誌點為空心菱形。


刪除
要刪除斷點,請中鍵單擊其圖標或右鍵單擊其圖標並選擇 刪除斷點。
編輯
您可以隨時編輯斷點的配置,包括在遊玩測試會話期間。如果您在遊玩測試會話期間編輯斷點,這些編輯會在您結束會話後持續存在。您也可以編輯正在暫停您的遊玩測試會話的斷點,但更改不會在下一次遊玩測試會話之前生效。
要編輯斷點:
右鍵單擊斷點圖標並選擇 編輯斷點。
在 編輯斷點 窗口中,根據需要配置斷點。您可以將這些配置混合在一起,以最適合您的除錯需求。
選項 描述 條件 一個可選的表達式,用於確定斷點是否啟動。如果條件為空,則斷點始終啟動。如果條件存在,則斷點變為 條件斷點,僅在條件為真時啟動。例如,如果您希望斷點僅在變數 var 等於 10 時啟動,則將條件設置為 var == 10。 日誌 消息 當斷點被觸發時,將打印到 輸出 窗口的表達式。日誌消息的格式與 print() 語句的格式相同。例如,將日誌消息設置為 "變數的值:", var 以輸出與 print("變數的值:", var) 相同的消息。 繼續 執行 確定斷點在啟動時是否暫停腳本。此選項默認為禁用,除非插入的斷點是 日誌點。 在觸發時移除斷點 如果選中,則斷點在第一次遊玩測試會話後自動刪除自己,實際上使其成為 臨時 斷點。 觸發於 斷點的 上下文 確定它應該在 客戶端(客戶端腳本)、伺服器(伺服器腳本)或 編輯(除錯 插件 腳本)上啟動。如果您選擇 自定義上下文,則窗口會顯示當前觸發上下文。
工作流程
斷點除錯的典型工作流程如下:
打開您想要除錯的腳本並在您想要檢查的代碼行上 插入斷點。
從 Studio 的中層, 啟動遊玩測試 以開始除錯。

當腳本觸發斷點時,遊玩測試會話 暫停,除非該斷點被 配置 為繼續執行。斷點上方的黃色箭頭指示下一行將執行的代碼。

要在觸發斷點後繼續執行代碼,請單擊中層中的 恢復腳本。

您還可以使用中層中的步進按鈕逐行執行代碼:

操作 快捷鍵 描述 步進 進入 F11 步進進入 按鈕將除錯器移入當前行的函數代碼。如果當前行沒有函數,則除錯器將移至下一行。 步進 越過 F10 步進越過 按鈕將除錯器移至下一行代碼,不 進入函數。 步進 退出 ShiftF11 步進退出 按鈕將除錯器移出當前函數並移至函數調用後的下一行代碼。如果當前行不在函數內,則除錯器將移至下一行。 當您完成當前會話的除錯時,單擊 停止 按鈕。

監控
Studio 包含多個窗口和工具,以在除錯時監控變數值和函數執行。通過這些信息,您可以找到腳本中大多數問題的根本原因。

斷點
斷點 窗口是一個統一視圖,顯示所有腳本中的所有斷點。要打開它,請從 Studio 的 腳本 標籤工具欄中單擊 斷點,或導航到 窗口 ⟩ 除錯 菜單並切換 斷點。
在窗口中,腳本 和 行 列始終顯示,您可以通過右上角的 ⋮ 菜單切換其他 配置 列的顯示。在 腳本 列中,右鍵單擊任何斷點以顯示選項菜單,您可以 編輯、禁用/啟用、刪除 或跳轉到腳本中的斷點行。

在除錯會話中,最左側的列顯示 (x3),這表示該斷點的多個上下文(客戶端、伺服器、編輯)。通過展開任何斷點的分支,您可以單擊特定上下文旁邊的圖標以 禁用/啟用 它,例如僅在 客戶端 上下文中禁用斷點,同時在 伺服器 上下文中保持啟用。

呼叫堆疊
呼叫堆疊 窗口可以從 Studio 的 腳本 標籤工具欄或 窗口 ⟩ 除錯 菜單訪問,顯示當除錯器到達斷點時將要執行的代碼行。如果您從其他函數內調用函數,它會指示這些函數的調用行,讓您確認實際的調用流程是否與預期的流程相符。


當腳本在斷點處暫停時,使用中層中的步進按鈕進行步進進入、越過或退出函數/行,如 工作流程 中所述。

監視
監視 窗口可以從 Studio 的 腳本 標籤工具欄或 窗口 ⟩ 除錯 菜單訪問,讓您在逐步通過斷點時主動監視變數和表達式的值。
變數 標籤顯示當前 範圍 中的變數信息,可以通過單擊窗口上方的 所有 範圍 按鈕進行過濾。展開一個分支顯示該變數或實例的成員及其值。您還可以通過在 腳本編輯器 中雙擊高亮顯示任何變數,右鍵單擊並從彈出菜單中選擇 添加 監視 來監視任何變數。


腳本編輯器
除錯器與 腳本編輯器 集成。當您的遊戲在腳本中的斷點處暫停時,您可以將鼠標懸停在變數名稱上以查看其值。例如,您可以查看表的組成及其包含的鍵/值。

附加除錯工具
除了除錯器,Studio 還提供其他除錯工具,幫助您修復遊戲中的問題和錯誤。
命令欄
命令欄 允許您在遊戲運行時運行 Luau 命令。它可以在 Studio 的 窗口 ⟩ 腳本 菜單中找到,並在 開發者控制台 中可用。
開發者控制台
開發者控制台 提供了廣泛的詳細信息,包括客戶端和伺服器輸出、內存使用情況、網絡性能等。要在測試或玩遊戲時打開控制台,請在聊天中輸入 /console 或按 F9。
日誌文件
當腳本在 Studio 或玩家應用中打印或出錯時,應用會在本地文件系統中記錄消息到日誌文件中。這些文件根據操作系統位於不同的位置。
Windows
要訪問 Windows 上的日誌文件:
- 打開 文件資源管理器。
- 導航到 %LOCALAPPDATA%\Roblox\logs 目錄。
- 雙擊日誌以打開它。具有相同 XXXXX 值的日誌來自同一 Studio 會話。
Mac
要訪問 Mac 上的日誌文件:
- 打開 Finder。
- 在菜單欄中,選擇 前往 ⟩ 前往文件夾...。
- 在對話框中,輸入 ~/Library/Logs/Roblox。
- 雙擊結果以導航到 Roblox 日誌目錄。
- 在該目錄中,雙擊日誌以打開它。
iOS
您可以使用 Mac 或 iOS 設備收集 iOS 日誌。
要在 Mac 上訪問 iOS 日誌文件:
- 將 iOS 設備連接到 Mac。
- 打開 Finder。
- 導航到 實用工具 並打開 控制台 應用程序。
- 要在控制台應用程序中填充實時日誌,請從側邊欄中選擇 iOS 設備,單擊 開始 按鈕,並在 iOS 設備上重現問題。
- 要在控制台應用程序中填充存檔日誌,請在 終端 中運行 sudo log collect --device-name "[iOS Device Name]"。確保設備名稱中沒有撇號,否則在運行命令時可能會出現錯誤。
Android
要訪問 Android 上的日誌文件:
- 導航到 設置 ⟩ 系統 ⟩ 開發者選項。
- 切換 開發者選項 為開。
- 在計算機上,下載並安裝 Android Studio。
- 在 Android Studio 中,單擊 Logcat。
- 將 Android 設備連接到計算機以自動填充 Logcat 日誌。