在 Visual Studio 中调试远程计算机上的 UWP 应用

可使用 Visual Studio 在其他计算机或设备上运行、调试、分析和测试通用 Windows 平台 (UWP) 应用。 当 Visual Studio 计算机不支持触摸、地理位置或物理方向等 UWP 特定功能时,在远程计算机上运行 UWP 应用特别有用。

先决条件

要在 Visual Studio 中调试远程设备上的 UWP 应用,请执行以下操作:

  • 必须配置 Visual Studio 项目进行远程调试。
  • 远程计算机与 Visual Studio 计算机必须通过网络连接或直接通过 USB 或以太网电缆连接。 不支持通过 Internet 进行调试。
  • 必须在 Visual Studio 计算机和远程计算机上同时启用开发者模式
  • 远程计算机必须正在运行 Visual Studio 远程工具。

配置 Visual Studio 项目以便进行远程调试

使用项目“属性”指定要连接到的远程设备。 这些设置因编程语言而有所不同。

注意

对于 Windows 10 及更高版本的远程连接,属性页面会默认将“身份验证类型”设置为“通用(未加密协议)”。 可能需要设置“无身份验证”才能连接到远程调试器。 “通用(未加密协议)”和“无身份验证”协议没有网络安全保障,因此在开发计算机和远程计算机之间传递的数据很容易受到攻击 。 仅在确定不会遇到恶意攻击或恶意通信的受信任网络上,才选择这些身份验证类型。

如果将“身份验证类型”设置为“Windows 身份验证”,则在调试时需要登录到远程计算机 。 远程调试器还必须在“Windows 身份验证”模式下运行,并且使用与 Visual Studio 计算机相同的用户帐户。

配置 C# 或 Visual Basic 项目以便进行远程调试

  1. 在 Visual Studio“解决方案资源管理器”中选择 C# 或 Visual Basic 项目,然后选择“属性”图标,按 Alt+Enter,或右键单击并选择“属性” 。

  2. 选择“调试”选项卡。

  3. 在“目标设备”下,针对远程计算机选择“远程计算机”,针对直接连接的 Windows Mobile 10 设备选择“设备” 。

  4. 对于远程计算机,请在“远程计算机”字段中输入网络名称或 IP 地址,或在“远程连接”对话框中选择“查找”以搜索设备 。

    Managed project properties for remote debugging

配置 C++ 项目以便进行远程调试

  1. 在 Visual Studio“解决方案资源管理器”中选择 C++ 项目,然后选择“属性”图标,按 Alt+Enter,或右键单击并选择“属性” 。

  2. 选择“调试”选项卡。

  3. 在“要启动的调试器”下,针对远程计算机选择“远程计算机”,针对直接连接的 Windows Mobile 10 设备选择“设备” 。

  4. 对于远程计算机,请在“计算机名称”字段中输入或选择网络名称或 IP 地址,或在“远程连接”对话框中下拉并选择“查找”以搜索设备 。

    C++ project properties for remote debugging

使用“远程连接”对话框

在“远程连接”对话框中,可以搜索特定的远程计算机名称或 IP 地址,也可以通过选择圆角箭头刷新图标来自动检测连接。 该对话框仅搜索本地子网上当前正在运行远程调试器的设备。 并非所有设备都可在“远程连接”对话框中检测到。

Remote Connection dialog box

提示

如果无法按名称连接到远程设备,请尝试使用其 IP 地址。 要确定 IP 地址,请在远程设备上的命令窗口中输入 ipconfig。 IP 地址显示为“IPv4 地址”。

为 Visual Studio 下载和安装远程工具

为了使 Visual Studio 能够调试某远程计算机上的应用,该远程计算机必须运行 Visual Studio 远程工具。

  • Windows Mobile 10 设备不需要或不支持远程工具。
  • 部署应用时,运行创意者更新(版本 1703)及更高版本的 Windows 11 PC 和 Windows 10 PC、Windows 10 Xbox、IoT 以及 HoloLens 设备会自动安装远程工具。
  • 在预创意者更新 Windows 10 PC 上,必须先在远程计算机上手动下载、安装并运行远程工具,然后才能开始调试。

要下载和安装远程工具,请执行以下操作

在要调试的远程设备或服务器上(而不是 Visual Studio 计算机上),请从下表中的链接下载并安装正确的远程工具版本。

  • 下载适用于 Visual Studio 版本的远程工具的最新更新。 早期远程工具版本与更高版本的 Visual Studio 不兼容。 (例如,如果使用的是 Visual Studio 2019,请下载 Visual Studio 2019 远程工具的最新更新。在这种情况下,请不要下载 Visual Studio 2022 远程工具。)
  • 下载与要安装远程工具的计算机具有相同体系结构的远程工具。 例如,如果要在运行 x64 操作系统的远程计算机上调试 x86 应用程序,请安装 x64 远程工具。 若要在 ARM64 操作系统上调试 x86、ARM 或 x64 应用程序,请安装 ARM64 远程工具。
Version 链接 说明
Visual Studio 2022 远程工具 兼容所有 Visual Studio 2022 版本。 下载与设备操作系统(x86、x64 或 ARM64)匹配的版本。 在较旧版本的 Windows 服务器上,请参阅取消阻止文件下载,获取有关下载远程工具的帮助。
Visual Studio 2019 远程工具 兼容所有 Visual Studio 2019 版本。 下载与设备操作系统(x86、x64 或 ARM64)匹配的版本。 在较旧版本的 Windows 服务器上,请参阅取消阻止文件下载,获取有关下载远程工具的帮助。
Visual Studio 2017 远程工具 兼容所有 Visual Studio 2017 版本。 下载与设备操作系统(x86、x64 或 ARM64)匹配的版本。 在 Windows 服务器上,请参阅取消阻止文件下载,获取有关下载远程工具的帮助。
Visual Studio 2015 远程工具 Visual Studio 2015 的远程工具可从 My.VisualStudio.com 获取。 如果出现提示,请加入免费的 Visual Studio Dev Essentials 计划,或使用 Visual Studio 订阅 ID 登录。 在 Windows 服务器上,请参阅取消阻止文件下载,获取有关下载远程工具的帮助。
Visual Studio 2013 远程工具 Visual Studio 2013 文档中的下载页面
Visual Studio 2012 远程工具 Visual Studio 2012 文档中的下载页面
Version 链接 说明
Visual Studio 2019 远程工具 兼容所有 Visual Studio 2019 版本。 下载与设备操作系统(x86、x64 或 ARM64)匹配的版本。 在 Windows 服务器上,请参阅取消阻止文件下载,获取有关下载远程工具的帮助。 有关最新版远程工具的信息,请打开 Visual Studio 2022 文档
Visual Studio 2017 远程工具 兼容所有 Visual Studio 2017 版本。 下载与设备操作系统(x86、x64 或 ARM64)匹配的版本。 在 Windows 服务器上,请参阅取消阻止文件下载,获取有关下载远程工具的帮助。
Visual Studio 2015 远程工具 Visual Studio 2015 的远程工具可从 My.VisualStudio.com 获取。 如果出现提示,请加入免费的 Visual Studio Dev Essentials 计划,或使用 Visual Studio 订阅 ID 登录。 在 Windows 服务器上,请参阅取消阻止文件下载,获取有关下载远程工具的帮助。
Visual Studio 2013 远程工具 Visual Studio 2013 文档中的下载页面
Visual Studio 2012 远程工具 Visual Studio 2012 文档中的下载页面

可以通过将 msvsmon.exe 复制到远程计算机,而不是安装远程工具来运行远程调试器。 但是,远程调试器配置向导 (rdbgwiz.exe) 仅在安装远程工具时才可用。 如果要将远程调试器作为服务运行,则可能需要使用向导进行配置。 有关详细信息,请参阅(可选)将远程调试器配置为服务

注意

  • 若要在 ARM 设备上调试 Windows 10 或更高版本应用,请使用 ARM64,它可用于最新版本的远程工具。
  • 若要在 Windows RT 设备上调试 Windows 10 应用,请使用 ARM,它仅在 Visual Studio 2015 远程工具下载中可用。
  • 若要在 ARM64 操作系统上调试 x64 应用程序,请运行随 ARM64 远程工具一起安装的 x64 msvsmon.exe。

配置远程工具

  1. 在远程计算机上,从“开始”菜单中查找并启动“远程调试器” 。

    如果你没有远程计算机的管理权限,请右键单击“远程调试器”应用,然后选择“以管理员身份运行” 。 否则,正常启动即可。

    如果打算附加到以管理员身份运行或在其他用户帐户(如 IIS)下运行的进程,请右键单击“远程调试器”应用,然后选择“以管理员身份运行” 。 有关详细信息,请参阅以管理员身份运行远程调试器

  2. 首次启动远程调试器时(或在配置它之前),会显示“远程调试配置”向导。

    在大多数情况下,请选择“下一步”,直到最后到达该向导的“配置 Windows 防火墙”页。

    Screenshot of remote debugger configuration.

    Screenshot of remote debugger configuration.

    如果未安装 Windows Web 服务 API(仅会在 Windows Server 2008 R2 上发生这种情况),请选择“安装”按钮

  3. 请至少选择一种要对其使用远程工具的网络类型。 如果这些计算机通过域连接,则必须选择第一项。 如果这些计算机通过工作组或家庭组连接,请根据需要选择第二或第三项。

    接下来,选择“完成”以启动远程调试器。

    接下来,选择“配置远程调试”以启动远程调试器。

  4. 配置完成后,将显示“远程调试器”窗口

    Screenshot of remote debugger window

    Screenshot of remote debugger window

    远程调试器正在等待连接。 使用显示的服务器名称和端口号在 Visual Studio 中设置远程连接配置。

若要停止远程调试器,请选择“文件”>“退出” 。 你可以从“开始”菜单或通过以下命令行重新启动它:

<Remote debugger installation directory>\msvsmon.exe

远程调试 UWP 应用

远程调试与本地调试方式相同。

  1. 在预创意者更新版 Windows 10 上,确保远程设备正在运行远程调试监视器 (msvsmon.exe)。

  2. 在 Visual Studio 计算机上,确保工具栏上的绿色箭头旁边显示了正确的调试目标(“远程计算机”或“设备”) 。

  3. 通过选择“调试”>“开始调试”、按 F5 或选择工具栏上的绿色箭头来启动调试 。

    该项目将重新编译,然后在远程设备上部署并启动。 调试器在断点暂停执行,可让你单步调试、单步跳过和单步跳出代码。

  4. 如有必要,请选择“调试”>“停止调试”或按 Shift+F5 以停止调试并关闭远程应用 。