调试 Unreal Engine 项目
使用 JetBrains Rider,您可以设置行断点、观察点、条件断点等。 您还可以在调试会话期间使用表达式求值或设置值。
Natvis 支持
基于 LLDB 的调试器支持 Natvis 文件,并自动查找和加载 UE4.natvis,提供对 Unreal Engine 数据类型的用户友好视图。
支持以下 Visual Studio Natvis 自定义功能:
可继承属性 ,用于指定可视化是仅适用于基类型,还是适用于基类型及其所有派生类型。
格式说明符 ,用于控制值的显示格式。
CustomListItems ,允许编写用于遍历数据结构的自定义逻辑。 这对于 Unreal 4.26 中的容器(如
TMap和TSet)特别有用。

内置渲染器:
JetBrains Rider 会自动为所有未被 Natvis 覆盖的结构生成单行摘要,并通过颜色提高可读性。
JetBrains Rider 显示 Natvis 生成值的 [原始视图]。
内置格式化器已启用,用于宽字符/Unicode 字符串(
wchar_t、char16_t、char32_t)。
实时编码和热重载
实时编码是一种系统,可以在引擎运行时重建您的应用程序 C++ 代码并修补其二进制文件。 JetBrains Rider 支持直接从 IDE 调用实时编码(以及热重载),这意味着您可以更改 C++ 类、编译,并立即看到这些更改生效。
热重载是一种类似的系统,可以在编辑器打开时编译新的 DLL 文件并加载它们。 请注意,它被视为一种遗留功能,而实时编码是更快且更灵活的首选选项。
在 Windows 上,自 5.0 版本以来,所有新的 Unreal Engine 安装默认启用实时编码。 当它被禁用时,Unreal Editor 会回退到使用热重载。
在 macOS 和 Linux 上,实时编码目前不可用,而是使用热重载。
当在 Unreal Editor 中启用实时编码或热重载时,JetBrains Rider 会在调试过程中显示一个 构建并重新加载 工具栏按钮。 单击此按钮以编译您的更改并使 Unreal Editor 加载更新。

监视点
观察点(也称为 数据断点 )在您需要专注于特定变量及其在程序执行过程中的行为时非常有用。 每当您的程序访问被监视的断点时,JetBrains Rider 将暂停执行或记录到控制台。
设置监视点
选择一个变量或表达式,右键点击并选择 添加监视点:

在弹出窗口中配置监视点:

要访问其他属性,请点击 更多 Ctrl+Shift+F8 或从主菜单中选择 :

选项
描述
已启用
选中或清除此复选框以启用或禁用监视点。
挂起执行
如果选择此选项,程序的执行将在 访问类型 字段中指定的事件处停止。 如果清除此复选框,程序在监视点命中时不会停止,但任何相关的操作(例如日志记录)仍会执行。
日志
选中这些复选框以将 断点命中消息或监视点的 堆栈跟踪记录到控制台。 如果您希望在不停止程序执行的情况下分析变量的变化,这将非常有用。
禁用直到命中以下断点
此选项会禁用当前监视点,直到遇到其他断点。
访问类型
选择将触发监视点的访问类型:读取、写入或任意。
Windows 上的符号服务器
调试时,有时本地计算机上无法使用库符号。 在这种情况下,您可以使用 符号服务器。
符号服务器是一个文件服务器,它将调试符号集中存储在服务器上,而不是存储在每个开发人员的计算机上。 然后,您可以将调试器指向符号服务器以解析符号名称。 每个人都可以共享同一个服务器。
在 Windows 的 JetBrains Rider 中,您可以在 中将调试器指向您选择的符号服务器:

JetBrains Rider 允许您分别配置符号服务器(或索引存储)和非索引共享文件夹。 如果您需要添加公共的 Microsoft 符号服务器,请点击相应的链接。
首次配置时,下载将在调试器会话启动时触发。 符号下载后,库符号将被正确解析。 例如,将显示来自 Windows 系统库的帧。
符号服务器:关闭 | 符号服务器:开启 |
|---|---|
![]() | ![]() |
启用符号服务器支持 设置允许 JetBrains Rider 中的调试器在本地使用任何已下载的符号缓存。 此缓存的目录可在设置中配置。

