调试

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

Studio 提供了许多调试工具和工作流程,这些工具和工作流程通常在集成开发环境 (IDEs) 中可以找到。它们帮助您在脚本运行时检查和解决错误。

断点调试

断点是检查点,可以在特定行暂停或“中断”脚本的执行。您可以利用这些暂停来检查和调试您的游戏,监视 变量,并检查 调用堆栈。断点是调试函数最有效的方法之一,因此它们是最重要的调试工具之一。

管理

脚本编辑器 中,您可以在任何时候 插入 多种类型的断点,并编辑断点的配置,包括在游戏测试会话期间。如果您在游戏测试会话期间编辑断点,这些编辑在您完成会话后仍然会保留。您还可以编辑正在暂停您游戏测试会话的断点,但更改不会在下一个游戏测试会话之前生效。

插入

断点有多种变体,可以在任何可执行代码行插入,如下所示:

要在代码行插入标准断点,请单击其行号右侧的边距。或者,右键单击边距并选择 插入 断点。断点图标显示为红色圆圈。

脚本边距中显示的标准断点

禁用

要暂时禁用断点而不 删除 它,请使用以下任一工作流程:

  • 单击断点的图标。
  • 右键单击断点的图标并选择 禁用断点
  • 编辑 断点并切换其 启用 复选框。

禁用的断点显示为其启用图标的空心版本,例如,禁用的标准断点为空心圆,禁用的日志点为空心菱形。

脚本边距中显示的禁用标准断点
禁用的标准断点
脚本边距中显示的禁用日志点
禁用的日志点

删除

要删除断点,请中间单击其图标或右键单击其图标并选择 删除断点

编辑

您可以在任何时候编辑断点的配置,包括在游戏测试会话期间。如果您在游戏测试会话期间编辑断点,这些编辑在您完成会话后仍然会保留。您还可以编辑正在暂停您游戏测试会话的断点,但更改不会在下一个游戏测试会话之前生效。

要编辑断点:

  1. 右键单击断点图标并选择 编辑断点

  2. 编辑断点 窗口中,根据需要配置断点。您可以将这些配置混合在一起,以最好地满足您的调试需求。

    选项描述
    条件一个可选的表达式,用于确定断点是否激活。如果条件为空,则断点始终激活。如果条件存在,则断点变为 条件断点,仅在条件为真时激活。例如,如果您希望断点仅在变量 var 等于 10 时激活,请将条件设置为 var == 10
    日志 消息当断点被触发时,打印到 输出 窗口的表达式。日志消息的格式与 print() 语句的格式相同。例如,将日志消息设置为 "变量的值:", var 以输出与 print("变量的值:", var) 相同的消息。
    继续 执行确定断点激活时是否暂停脚本。此选项默认禁用,除非插入的断点是 日志点
    在命中时移除断点如果选中,断点将在第一次游戏测试会话后自动移除自己,有效地使其成为 临时 断点。
    触发于断点的 上下文 决定它是否应在 客户端(客户端脚本)、服务器(服务器脚本)或 编辑(调试 插件 脚本)上激活。如果您选择 自定义上下文,窗口将指示当前触发上下文。

工作流程

断点调试的典型工作流程如下:

  1. 打开您想要调试的脚本,并在您想要检查的代码行上 插入断点

  2. 从 Studio 的中间层 启动游戏测试 以开始调试。

    Studio 中测试模式下拉菜单中的测试选项。
  3. 当脚本命中断点时,游戏测试会话 暂停,除非该断点被 配置 为继续执行。断点上方的黄色箭头指示下一行将执行的代码。

    调试器中显示的活动断点,带有黄色箭头
  4. 当脚本暂停时,检查 断点 窗口、监视 窗口、调用堆栈 窗口、输出 窗口和 脚本编辑器,以查找有关变量值和函数执行的信息。

  5. 要在命中断点后继续执行代码,请单击中间层中的 恢复脚本

    Studio 中的中间层指示的恢复脚本按钮

    您还可以使用中间层中的逐步按钮逐行执行代码:

    Studio 中的中间层指示的断点逐步按钮
    操作快捷键描述
    逐步进入F11逐步进入 按钮将调试器移动到当前行的函数代码中。如果当前行没有函数,调试器将移动到下一行。
    逐步跳过F10逐步跳过 按钮将调试器移动到下一行代码,进入函数。
    逐步退出ShiftF11逐步退出 按钮将调试器从当前函数移出,并移动到函数调用后的下一行代码。如果当前行不在函数内,调试器将移动到下一行。
  6. 当您完成当前会话的调试时,单击 停止 按钮。

    Studio 中的中间层指示的停止按钮。

监控

Studio 包含多个窗口和工具,以在调试时监控变量值和函数执行。通过这些信息,您可以找到脚本中大多数问题的根本原因。

Studio 工具栏中指示的断点按钮

断点

断点 窗口是一个统一视图,显示所有脚本中的所有断点。要打开它,请从 Studio 的 脚本 选项卡工具栏中单击 断点,或导航到 窗口 ⟩ 调试 菜单并切换 断点

在窗口中,脚本 列始终显示,您可以通过右上角的 菜单切换其他 配置 列的显示。在 脚本 列中,右键单击任何断点以显示选项菜单,以 编辑禁用/启用删除 或跳转到脚本中的断点行。

Studio 中的断点窗口

在调试会话中,最左侧的列显示 (x3),表示该断点的多个上下文(客户端服务器编辑)。通过展开任何断点的分支,您可以单击特定上下文旁边的图标,以 禁用/启用 该上下文,例如仅在 客户端 上下文中禁用断点,同时在 服务器 上下文中保持启用。

展开的断点以显示上下文

调用堆栈

调用堆栈 窗口可以从 Studio 的 脚本 选项卡工具栏或 窗口 ⟩ 调试 菜单访问,显示调试器在达到断点时将要执行的代码行。如果您在其他函数内部调用函数,它会指示这些函数被调用的行,让您确认实际调用流程是否与预期流程匹配。

脚本中的调用堆栈流程 调用堆栈窗口中的调用堆栈流程

当脚本在断点处暂停时,使用中间层中的逐步按钮逐步进入、跳过或退出函数/行,如 工作流程 中所述。

Studio 中的中间层指示的断点逐步按钮

监视

监视 窗口可以从 Studio 的 脚本 选项卡工具栏或 窗口 ⟩ 调试 菜单访问,让您在逐步通过断点时主动监视变量和表达式的值。

变量 选项卡显示当前 作用域 中的变量信息,可以通过单击窗口上方的 所有 作用域 按钮进行过滤。展开一个分支显示该变量或实例的成员及其值。您还可以通过在 脚本编辑器 中双击突出显示任何变量,右键单击并从弹出菜单中选择 添加 监视 来监视任何变量。

脚本中要监视的变量监视窗口中的变量信息

脚本编辑器

调试器与 脚本编辑器 集成。当您的游戏在脚本中的断点处暂停时,您可以将鼠标悬停在变量名称上以查看其值。例如,您可以查看表的组成及其包含的键/值。

在脚本编辑器中将鼠标悬停在变量上以显示值

其他调试工具

除了调试器,Studio 还提供其他调试工具,以帮助您修复游戏中的问题和错误。

命令栏

命令栏 允许您在游戏运行时运行 Luau 命令。它可以在 Studio 的 窗口 ⟩ 脚本 菜单中找到,并在 开发者控制台 中可用。

开发者控制台

开发者控制台 提供了广泛的详细信息,包括客户端和服务器输出、内存使用情况、网络性能等。要在测试或玩游戏时打开控制台,请在聊天中输入 /console 或按 F9

日志文件

当脚本在 Studio 或玩家应用中打印或出错时,应用会在本地文件系统中记录消息到日志文件。这些文件的位置因操作系统而异。

Windows

要访问 Windows 上的日志文件:

  1. 打开 文件资源管理器
  2. 导航到 %LOCALAPPDATA%\Roblox\logs 目录。
  3. 双击日志以打开它。具有相同 XXXXX 值的日志来自同一 Studio 会话。

Mac

要访问 Mac 上的日志文件:

  1. 打开 Finder
  2. 在菜单栏中,选择 前往前往文件夹...
  3. 在对话框中,输入 ~/Library/Logs/Roblox
  4. 双击结果以导航到 Roblox 日志目录。
  5. 在目录中,双击日志以打开它。

iOS

您可以使用 Mac 或 iOS 设备收集 iOS 日志。

要在 Mac 上访问 iOS 日志文件:

  1. 将 iOS 设备连接到 Mac。
  2. 打开 Finder
  3. 导航到 实用工具 并打开 控制台 应用程序。
  4. 要在控制台应用程序中填充实时日志,请从侧边栏中选择 iOS 设备,单击 开始 按钮,并在 iOS 设备上重现问题。
  5. 要在控制台应用程序中填充归档日志,请在 终端 中运行 sudo log collect --device-name "[iOS Device Name]"。确保设备名称中没有撇号,否则在运行命令时可能会出现错误。

Android

要访问 Android 上的日志文件:

  1. 导航到 设置系统开发者选项
  2. 切换 开发者选项 开启。
  3. 在计算机上下载并安装 Android Studio
  4. 在 Android Studio 中,单击 Logcat
  5. 将 Android 设备连接到计算机,以自动填充 Logcat 日志。
©2026 Roblox Corporation、Roblox、Roblox 标志及 Powering Imagination 是我们在美国及其他国家或地区的注册与未注册商标。