
配置 Visual Studio 调试器
在 Visual Studio 中通过 F5 启动调试器时,默认使用通过其他 Microsoft Game Development Kit (GDK) 工具(例如 XBOX Manager 或 xbConnect)设置的默认主机。要覆盖此行为,可通过项目属性页面的 XBOX One 部分下的 Remote IP Address 属性指定一个主机,如下截图所示。


符号路径
Game OS 若干组件的程序数据库 (.pdb) 文件在使用 Visual Studio 进行调试时可用。配置 Visual Studio 使用这些符号可在中断进入调试器时获得例如更完整的调用堆栈。 部分 Game OS 符号由 Microsoft Game Development Kit (GDK) 安装程序安装到你的开发 PC 上,另一部分可从 Microsoft 公共符号服务器获取。 由安装程序安装的 Game OS 符号位于开发 PC 上的 C:\Program Files (x86)\Microsoft GDK<edition number>\GXDK\gameKit\symbols。平台无关的 .pdb 位于符号文件夹的根目录,平台特定的 .pdb 位于 Xbox Series X|S 与 XboxOne 子目录中。 要将本地 PC 上 Game OS 符号目录的路径添加进去,可使用 Visual Studio Options 对话框 Debugging 部分下的 Symbols 设置,如下截图所示。

与调试相关的属性
可以通过项目属性对话框以及 XBOX Gaming Explorer 的 Settings 选项卡中公开的一组属性进一步配置调试器。这些属性包括例如向你的 title 传递命令行参数以及开启日志模块加载等能力。有关可用属性的详情,请参见 Visual Studio Properties for XBOX Development 和 XBOX Gaming Explorer。附加到正在运行的 title
XBOX 菜单以及 XBOX Gaming Explorer 都包含用于将调试器附加到主机上正在运行游戏的菜单选项。 要附加到当前正在你默认主机上运行的游戏,请使用 XBOX 菜单上的 Attach to Running Game。XBOX 菜单可从 Visual Studio 菜单栏访问,如下截图所示。


虽然可以使用 Host IP 或 System IP 附加到 title,但在同一会话中多次附加时应避免混用两者。例如,如果最初使用 Host IP 附加,后续附加时应继续使用 Host IP。

使用 Visual Studio 2022 调试 XBOX 项目
使用 Visual Studio 2022 进行调试要求所调试的 title 是使用 2021 年 10 月(或更新版本)Microsoft Game Development Kit (GDK) 构建的。存在对 2021 年 10 月(或更新版本)Microsoft Game Development Kit (GDK) 的依赖,是因为这些 Microsoft Game Development Kit (GDK) 版本中附带的 Game OS 包含使用 Visual Studio 2022 调试所需的二进制文件。若在较旧的 Game OS 上尝试使用 Visual Studio 2022 调试,将会显示以下错误。
调试打包构建
在 XBOX One Software Development Kit 的发布版本中,调试打包构建的工作流涉及使用 Visual Studio 中的 Debug Installed App Packages 菜单项。此工作流在 Microsoft Game Development Kit (GDK) 2019 年 9 月版中得到了极大简化,如本节所述。

调试 Game Lifecycle 状态之间的转换
要正确支持 Game Lifecycle,需要为 full、suspended 和 constrained 生命周期状态之间的转换编写事件处理程序。Visual Studio 提供了多项功能,可帮助你编写让你的 title 成功通过 Game Lifecycle 状态转换所需的健壮事件处理程序。 XBOX Gaming Explorer 中的上下文菜单包含 Suspend、Resume 和 Constrain 你的 title 的选项,可让你在开发套件上调试自己的处理程序。

Visual Studio 2022 中的 C++ Dynamic Debugging
C++ Dynamic Debugging 是一项新的调试功能,可在不牺牲性能的情况下为优化过的代码提供完整的调试体验。可在任意位置放置去优化断点,并按需对函数进行去优化以单步进入。要启用 C++ Dynamic Debugging:在你的项目上右键,Properties > Configuration Properties > Advanced > Advanced Properties > Use C++ Dynamic Debugging (preview)。使用动态调试功能需要 Visual Studio 2022 的 17.14 Preview 2 或更新版本。有关更多信息请访问 https://aka.ms/dynamicdebugging。使用 C++ Dynamic Debugging 所需的 Visual Studio 版本 (17.14) 计划在 2025 年 4 月 GDK 之后发布。在 Visual Studio 17.14 版本发布后,会发布一个 GDK 更新,其中包含 C++ Dynamic Debugging 所需的 C++ debug monitor (msvsmon.exe)。如果你希望在该 GDK 更新发布之前使用 C++ Dynamic Debugging,请联系你的 Microsoft 客户经理,获取有关如何将合适版本的 C++ debug monitor 加载到主机的说明。
