> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.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 调试器**,如下图所示。

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_debugger.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=56657c38839ade7382132de3c5436463" alt="项目使用标准调试器" width="405" height="111" data-path="images/gdk/tools/vs_pc_debugger.png" />

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

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

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

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_unsupported_debugger.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=bfc1a4109ce380cefb6f2726318d3172" alt="升级后的不受支持调试器" width="554" height="253" data-path="images/gdk/tools/vs_pc_unsupported_debugger.png" />

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

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

<a id="vs_pc_debug_packaged_build" />

## 调试打包构建

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

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_diap_menu.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=f06707e7ae498d3863e820cfaa29391f" alt="Visual Studio 中的 Debug Installed App Package 菜单项" width="652" height="311" data-path="images/gdk/tools/vs_pc_diap_menu.png" />

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

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_diap_dialog.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=b763e70e505dfa7cad5bd189b55dd19a" alt="Visual Studio 中的 Debug Installed App Package 对话框" width="630" height="597" data-path="images/gdk/tools/vs_pc_diap_dialog.png" />

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

<img src="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" alt="安装子进程调试 Visual Studio 扩展" width="974" height="439" data-path="images/gdk/tools/vs_pc_debugger_install_child_process_debugging.png" />

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

<img src="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" alt="Visual Studio 中的子进程调试菜单" width="658" height="341" data-path="images/gdk/tools/vs_pc_child_process_debugging_menu.png" />

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

<img src="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" alt="在 Visual Studio 中配置子进程调试" width="625" height="303" data-path="images/gdk/tools/vs_pc_child_process_debugging_setting.png" />

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

<a id="vs_pc_debug_remote" />

## 在远程 PC 上调试游戏

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

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

<img src="https://mintcdn.com/microsoft-4404708b/NsRUQ49ZRpXgoZ9R/images/gdk/tools/vs_pc_remote_debugger.png?fit=max&auto=format&n=NsRUQ49ZRpXgoZ9R&q=85&s=d5daa87b45f098e8b9dfe68f3a794830" alt="在远程 PC 场景中部署 MicrosoftGame.config 和其他文件" width="784" height="541" data-path="images/gdk/tools/vs_pc_remote_debugger.png" />

## 另请参阅

[Visual Studio](/tools/tools-pc/visualstudio/gr-visualstudio-toc)


## Related topics

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