Visual Studio 通过在调用堆栈和局部变量窗口中显示有关 Unreal Engine 蓝图的信息来改进调试 Unreal Engine 项目。 此功能允许在一个调试会话中调试蓝图代码以及C++代码。 借助此功能,可以轻松跟踪蓝图与C++代码之间的交互,从而更轻松地识别和修复 bug。
蓝图是 Unreal Engine 中提供的可视化脚本技术,用于快速原型制作和开发。 它们可以与C++代码交互,在许多情况下,游戏最初设计为蓝图,后来转换为C++以提高性能。 如果你花时间将蓝图转换为C++,此功能可让你将蓝图与C++代码一起分析,以帮助进行转换。 这减少了在 Visual Studio 和 Unreal 编辑器之间切换的需求,从而提供无缝调试体验并减少上下文切换。
Visual Studio Blueprint 调试器支持提供:
- 集成调用堆栈:蓝图帧显示在与C++帧相同的调用堆栈中。
- 变量检查:查看蓝图节点引脚,其值会出现在本地变量窗口中。
- 统一调试体验:在同一会话中调试蓝图和C++代码。
- 断点支持:在蓝图调用的C++代码中设置断点。 如果有多个蓝图可以调用C++代码,但不确定具体是哪些蓝图会调用及其原因,这非常有用。
先决条件
- 安装了包含使用C++进行游戏开发的工作负载的 Visual Studio 2022 17.14 或更高版本。
- 适用于 Unreal Engine Blueprints 组件的 Visual Studio 调试器工具 。
- Visual Studio Tools for Unreal Engine 组件。
- Visual Studio 的 Unreal Engine 插件。
- 通过调试符号安装的 Unreal Engine。
- 适用于 Unreal Engine 的 Visual Studio 插件。
安装先决条件
运行 Visual Studio 安装程序以安装调试 Unreal Engine 蓝图所需的组件。 有关安装 Visual Studio Tools for Unreal Engine 的详细信息,请参阅 Visual Studio Tools for Unreal Engine 入门。
在 “工作负载” 窗格中,确保安装使用C++进行游戏开发工作负载,以及 适用于 Unreal Engine 的 Visual Studio 调试器工具和适用于 Unreal Engine 的 Visual Studio 工具。
安装 Unreal Engine 调试符号
为使用 Visual Studio 调试的每个 Unreal Engine 版本安装调试符号:
打开 史诗游戏启动器。
选择 “Unreal 引擎 ”窗格,然后选择“ 库 ”窗格。
选择引擎版本的下拉菜单,然后选择 “选项”
在“选项”对话框中,选择 用于调试的编辑器符号:
选择 “应用”,然后等待下载完成。
安装 Visual Studio 的 Unreal Engine 插件
Visual Studio 的 Unreal Engine 插件将安装到 Unreal Engine 中。 在 Visual Studio 中打开 Unreal Engine 项目时,系统会自动激活它。 此插件提供了 Unreal Engine 和 Visual Studio 之间必要的集成,用于在 Visual Studio 调试器的本地变量窗口中显示蓝图节点引脚值。
有关手动安装说明,请参阅 vc-ue-extensions。
如果有可在 Visual Studio 中打开的 Unreal Engine 项目,则安装插件的另一种方法是通过 Unreal Engine 配置窗口在 Visual Studio 中:
- 在 Visual Studio 中打开 Unreal Engine 项目后,选择 Project>Configure Tools for Unreal Engine 以打开 Unreal Engine 集成配置 窗口。
- 在 “Visual Studio 集成工具状态 ”部分中,选择“ 安装到项目 ”或 “安装到引擎 ”以满足你的需求。
如果未看到安装按钮,请选择刷新图标以刷新状态。 如果需要手动安装插件,请选择“ 手动安装说明 ”链接以打开包含安装说明 的vc-ue-extensions 页。
设置测试项目
若要测试 Blueprint 调试器功能,请创建包含蓝图和C++代码的项目。 Unreal Engine First Person 模板效果良好。
打开 Unreal Engine 编辑器并创建新的 First Person 项目。
确保已选择 C++ :
创建项目后,关闭所有 Unreal 编辑器实例。
在 Visual Studio 中,打开生成的 Visual Studio 解决方案文件(.sln)。
安装适用于 Unreal Engine 的 Visual Studio 插件
若要支持在 Visual Studio 调试器中查看蓝图的节点固定变量,还需要安装适用于 Unreal Engine 的 Visual Studio 插件。 插件可以安装在引擎或游戏项目源中。 在 Visual Studio 中打开 Unreal Engine 项目时,它会自动激活。 有关安装说明,请参阅 vc-ue-extensions。
调试蓝图
按照以下步骤设置断点、检查蓝图函数并查看其节点引脚值:
在 Visual Studio 中,找到
AttachWeapon
武器组件类中的方法。 例如,如果命名项目FirstPerson
,该函数将位于文件中FirstPersonWeaponComponent.cpp
。在
AttachWeapon
方法的开头添加断点。 当玩家在游戏中拿起武器时,将调用此方法:在 Visual Studio 解决方案配置 下拉列表中,选择 “开发编辑器”
在 Visual Studio 中,编译并运行项目以打开 Unreal 编辑器。
在 Unreal 编辑器中,选择绿色 的“播放 ”按钮以启动游戏。
在正在运行的游戏中,按 W 键向前移动,直到你与武器相撞并触发断点。
命中断点时,检查调用堆栈窗口。 蓝图堆栈帧会出现在你的 C++ 堆栈帧之间:
双击调用堆栈中的第一个蓝图帧。
打开 “局部变量 ”窗口以查看与蓝图节点关联的变量。 可以看到蓝图节点引脚的值:
概要
Visual Studio Blueprint 调试器提供无缝调试体验,以弥合 Unreal Engine 项目中C++和蓝图代码之间的差距。 使用此集成方法,可以:
- 跟踪从C++到蓝图和返回的执行流。
- 检查蓝图变量、节点固定值和C++变量。
- 在与 C++ 代码相同的调试会话中逐步执行蓝图执行帧。
这种统一的调试体验有助于跨两种编码范例高效地解决问题,无需在不同的调试工具之间切换。