> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 使用 Visual Studio 调试 PC 项目

> 使用 Visual Studio 调试 PC 项目

从 2022 年 6 月版的 Microsoft 游戏开发工具包 (GDK) 开始,使用 Visual Studio 附带的本机代码调试器来调试 PC 游戏项目。若要在本地 PC 上调试,请在 Visual Studio 工具栏的调试器下拉列表中选择 **本地 Windows 调试器**,如下图所示。

![项目使用标准调试器](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_debugger.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=56657c38839ade7382132de3c5436463)

若要在远程 PC 上调试,请选择 **远程 Windows 调试器** 并按照 [在远程 PC 上调试游戏](#vs_pc_debug_remote) 中描述的步骤操作。

> [!NOTE]
>
> 用于使用 2022 年 6 月之前版本 Microsoft 游戏开发工具包 (GDK) 的项目的调试器名为 Local Machine。2022 年 6 月之前版本的 Microsoft 游戏开发工具包 (GDK) 不支持远程调试。

将项目升级到 2022 年 6 月版 Microsoft 游戏开发工具包 (GDK) 时,可能会出现调试器属性被设置为 **Unsupported debug option** 的情况,如下图所示。发生这种情况时,必须使用调试工具栏、项目属性页或将 **DebuggerFlavor** msbuild 属性设置为 **WindowsLocalDebugger** 将调试器属性重置为 **本地 Windows 调试器**(完全删除 **DebuggerFlavor** 属性也会导致使用 **本地 Windows 调试器**)。

![升级后的不受支持调试器](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_unsupported_debugger.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=bfc1a4109ce380cefb6f2726318d3172)

从 2022 年 6 月版的 Microsoft 游戏开发工具包 (GDK) 开始,PC 项目不再需要部署步骤。Visual Studio 的 **配置管理器** 对话框中的 **部署** 复选框已禁用。

零售版启动游戏时,会使用一个中间启动程序进程。此引导程序进程会在游戏渲染之前显示启动画面、检查游戏更新、预同步云存档、预登录用户等。这些行为在松散文件调试场景中不会被执行。使用 [打包构建](#vs_pc_debug_packaged_build) 来测试或调试游戏在零售版中启动时的情况。

## 调试打包构建

在调试打包构建之前,必须使用 [wdapp install](https://docs.xbox.com/zh-CN/tools/tools-pc/commandlinetools/gr-wdapp.md#wdapp_install) 安装包。安装后,可以使用 Visual Studio 中的 **Debug Installed App Package** 功能调试游戏。使用 **调试** 菜单打开调试对话框,如下图所示。

![Visual Studio 中的 Debug Installed App Package 菜单项](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_diap_menu.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=f06707e7ae498d3863e820cfaa29391f)

若要调试你的游戏,请在对话框中搜索它,将 **Debug this code type** 设置为 *Native Only*,然后单击 **开始** 按钮。

![Visual Studio 中的 Debug Installed App Package 对话框](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_diap_dialog.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=b763e70e505dfa7cad5bd189b55dd19a)

若要按零售环境中启动的方式调试你的游戏,请在 [wdapp install](https://docs.xbox.com/zh-CN/tools/tools-pc/commandlinetools/gr-wdapp.md#wdapp_install) 命令行中添加 **/bootstrapper** 标志。以这种方式安装的游戏将由引导程序进程启动。此场景中的调试需要 Visual Studio 中的 **子进程调试** 扩展。使用 **管理扩展** 对话框安装该扩展。

![安装子进程调试 Visual Studio 扩展](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_debugger_install_child_process_debugging.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=f9d1e9b9bb0b34316aab21107d4da207)

安装后,使用 **调试** 菜单查看 **子进程调试** 设置。

![Visual Studio 中的子进程调试菜单](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_child_process_debugging_menu.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=7f49ac61f434c0328bfac80be5846272)

在设置页面上单击 **启用子进程调试** 复选框。

![在 Visual Studio 中配置子进程调试](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_child_process_debugging_setting.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=87d06bafb8bb0e40260ec6ad47118377)

启用子进程调试后,**Debug Installed App Package** 对话框现在会将调试器附加到游戏而不是引导程序进程。

## 在远程 PC 上调试游戏

在远程 PC 上调试游戏需要 Visual Studio 远程工具。按照 [在 Visual Studio 中远程调试 C++ 项目](https://learn.microsoft.com/visualstudio/debugger/remote-debugging-cpp) 中描述的方法安装工具并配置远程调试器。

在项目属性页上的 **要启动的调试器** 下拉列表中选择 **远程 Windows 调试器**。输入游戏可执行文件的名称、所需的工作目录等。默认情况下,Visual Studio 将部署游戏的可执行文件和二进制依赖项。若要调试远程 Microsoft 游戏开发工具包 (GDK) 游戏,还需要部署其他文件,包括 MicrosoftGame.config 文件和徽标文件。使用 **远程 Windows 调试器** 属性页上的 **要部署的其他文件** 属性指定要部署的其他文件,如下图所示。

![在远程 PC 场景中部署 MicrosoftGame.config 和其他文件](https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_remote_debugger.png?fit=max\&auto=format\&n=NsRUQ49ZRpXgoZ9R\&q=85\&s=d5daa87b45f098e8b9dfe68f3a794830)

## 另请参阅

[Visual Studio](https://docs.xbox.com/zh-CN/tools/tools-pc/visualstudio/gr-visualstudio-toc.md)


## Related topics

- [Visual Studio(目录)](https://docs.xbox.com/zh-CN/tools/tools-pc/visualstudio/gr-visualstudio-toc.md)
- [Visualstudio](https://docs.xbox.com/zh-CN/tools/tools-pc/visualstudio/index.md)
- [使用 Visual Studio 调试 XBOX 项目](https://docs.xbox.com/zh-CN/tools/tools-console/visualstudio/debugging-with-visualstudio.md)
- [在 Visual Studio 中远程调试 Windows 设备上的 PC 项目](https://docs.xbox.com/zh-CN/tools/tools-pc/visualstudio/gr-vs-debugging-with-visualstudio-remote-windows.md)
- [Visual Studio 2022 GDK 支持说明](https://docs.xbox.com/zh-CN/tools/tools-console/visualstudio/vs-2022-support-notes.md)
