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

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


刪除
要刪除斷點,請中鍵單擊其圖標或右鍵單擊其圖標並選擇 刪除斷點。
編輯
您可以隨時編輯斷點的配置,包括在遊玩測試會議期間。如果您在遊玩測試會議期間編輯斷點,這些編輯將在您完成後持續有效。您也可以編輯一個正在暫停您的遊玩測試會議的斷點,但更改不會在下次遊玩測試會議前生效。
要編輯斷點:
右鍵單擊斷點圖標並選擇 編輯斷點。
在 編輯斷點 窗口中,根據需要配置斷點。您可以將這些配置組合在一起,以最好地滿足您的除錯需求。
選項 描述 條件 一個可選的表達式,決定斷點是否啟用。如果條件為空,則該斷點始終啟用。如果條件存在,則該斷點成為 條件斷點,僅在條件為真時啟用。例如,如果您希望只有當變數 var 等於 10 時啟用該斷點,則將條件設置為 var == 10。 日誌 消息 當斷點被觸發時,在 輸出 窗口中打印的表達式。日誌消息的格式與 print() 語句相同。例如,將日誌消息設置為 "The value of var:", var,以輸出與 print("The value of var:", 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。
- 瀏覽到 實用工具 並打開 Console 應用程序。
- 要在 Console 應用程序中填充實時日誌,請從側邊欄中選擇 iOS 設備,單擊 開始 按鈕,並在 iOS 設備上重現問題。
- 要在 Console 應用程序中填充存檔日誌,在 終端 中運行 sudo log collect --device-name "[iOS Device Name]"。請確保設備名稱中沒有撇號,否則在運行該命令時可能會出錯。
Android
要訪問 Android 中的日誌文件:
- 瀏覽到 設定 ⟩ 系統 ⟩ 開發者選項。
- 打開 開發者選項。
- 在電腦上下載並安裝 Android Studio。
- 在 Android Studio 中,單擊 Logcat。
- 將 Android 設備連接到電腦,自動填充 Logcat 日誌。