Studio 提供了许多常见于集成开发环境 (IDE) 的调试工具和工作流程。这些工具帮助您在脚本运行时检查和解决错误。
断点调试
断点是检查点,在特定行暂时停止或“中断”脚本的执行。您可以利用这些暂停来检查和调试您的体验,监视 变量,并检查 调用堆栈。断点是调试函数最有效的方法之一,因此它们是最重要的调试工具之一。
管理
在 脚本编辑器 中,您可以 插入 多种类型的断点,并随时编辑断点的配置,包括在游戏测试会话期间。如果您在游戏测试会话期间编辑断点,则编辑将在您完成后仍然有效。您也可以编辑正在暂停游戏测试会话的断点,但更改将在下一个游戏测试会话中应用。
插入
断点有多种变体,可以在任何可执行代码行插入,如下所示:
要在代码行插入标准断点,请单击其行号右侧的边距。或者,右键单击边距并选择 插入 断点。断点图标显示为红色圆圈。

禁用
要暂时禁用断点而不 删除 它,可以使用以下任何工作流程:
- 点击断点的图标。
- 右键单击断点的图标并选择 禁用断点。
- 编辑 断点并切换其 启用 复选框。
禁用的断点显示为其启用图标的空心版本,例如,禁用的标准断点显示为空心圆圈,或禁用的日志点显示为空心菱形。


删除
要删除断点,请中间点击它的图标或右键单击它的图标并选择 删除断点。
编辑
您可以随时编辑断点的配置,包括在游戏测试会话期间。如果您在游戏测试会话期间编辑断点,则编辑将在您完成后仍然有效。您也可以编辑正在暂停游戏测试会话的断点,但更改将在下一个游戏测试会话中应用。
要编辑断点:
右键单击断点图标并选择 编辑断点。
在 编辑断点 窗口中,按需要配置断点。您可以将这些配置混合在一起,以最好地满足您的调试需求。
选项 描述 条件 一个可选表达式,用于确定断点是否激活。如果条件为空,断点始终激活。如果条件存在,断点变为 条件断点,仅在条件为真时激活。例如,如果您希望断点仅在变量 var 等于 10 时激活,请将条件设置为 var == 10。 日志 消息 一个在断点被触发时打印到 输出 窗口的表达式。日志消息的格式与 print() 语句相同。例如,将日志消息设置为 "var 的值:", var 以输出与 print("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。
- 转到 实用工具 并打开 控制台 应用。
- 为了在控制台应用中填充实时日志,从侧边栏选择 iOS 设备,点击 开始 按钮,然后在 iOS 设备上重现问题。
- 为了在控制台应用中填充归档日志,在 终端 中运行 sudo log collect --device-name "[iOS Device Name]"。确保设备名称中没有撇号,否则在运行命令时可能会出现错误。
Android
要访问 Android 上的日志文件:
- 转到 设置 ⟩ 系统 ⟩ 开发者选项。
- 切换 开发者选项 以启用。
- 在电脑上下载并安装 Android Studio。
- 在 Android Studio 中,单击 Logcat。
- 将 Android 设备连接到电脑以自动填充 Logcat 中的日志。