在 Visual Studio 中调试远程计算机上的 UWP 应用
可使用 Visual Studio 在其他计算机或设备上运行、调试、分析和测试通用 Windows 平台 (UWP) 应用。 当 Visual Studio 计算机不支持触摸、地理位置或物理方向等 UWP 特定功能时,在远程计算机上运行 UWP 应用特别有用。
先决条件
要在 Visual Studio 中调试远程设备上的 UWP 应用,请执行以下操作:
- 必须配置 Visual Studio 项目进行远程调试。
- 远程计算机与 Visual Studio 计算机必须通过网络连接或直接通过 USB 或以太网电缆连接。 不支持通过 Internet 进行调试。
- 必须在 Visual Studio 计算机和远程计算机上同时启用开发者模式。
- 远程计算机必须正在运行 Visual Studio 远程工具。
- 某些 Windows 10 及更高版本会自动启动并运行远程工具。 否则,请安装并运行 Visual Studio 远程工具。
- Windows Mobile 10 设备不需要或不支持远程工具。
配置 Visual Studio 项目以便进行远程调试
使用项目“属性”指定要连接到的远程设备。 这些设置因编程语言而有所不同。
注意
对于 Windows 10 及更高版本的远程连接,属性页面会默认将“身份验证类型”设置为“通用(未加密协议)”。 可能需要设置“无身份验证”才能连接到远程调试器。 “通用(未加密协议)”和“无身份验证”协议没有网络安全保障,因此在开发计算机和远程计算机之间传递的数据很容易受到攻击 。 仅在确定不会遇到恶意攻击或恶意通信的受信任网络上,才选择这些身份验证类型。
如果将“身份验证类型”设置为“Windows 身份验证”,则在调试时需要登录到远程计算机 。 远程调试器还必须在“Windows 身份验证”模式下运行,并且使用与 Visual Studio 计算机相同的用户帐户。
配置 C# 或 Visual Basic 项目以便进行远程调试
在 Visual Studio“解决方案资源管理器”中选择 C# 或 Visual Basic 项目,然后选择“属性”图标,按 Alt+Enter,或右键单击并选择“属性” 。
选择“调试”选项卡。
在“目标设备”下,针对远程计算机选择“远程计算机”,针对直接连接的 Windows Mobile 10 设备选择“设备” 。
对于远程计算机,请在“远程计算机”字段中输入网络名称或 IP 地址,或在“远程连接”对话框中选择“查找”以搜索设备 。
配置 C++ 项目以便进行远程调试
在 Visual Studio“解决方案资源管理器”中选择 C++ 项目,然后选择“属性”图标,按 Alt+Enter,或右键单击并选择“属性” 。
选择“调试”选项卡。
在“要启动的调试器”下,针对远程计算机选择“远程计算机”,针对直接连接的 Windows Mobile 10 设备选择“设备” 。
对于远程计算机,请在“计算机名称”字段中输入或选择网络名称或 IP 地址,或在“远程连接”对话框中下拉并选择“查找”以搜索设备 。
使用“远程连接”对话框
在“远程连接”对话框中,可以搜索特定的远程计算机名称或 IP 地址,也可以通过选择圆角箭头刷新图标来自动检测连接。 该对话框仅搜索本地子网上当前正在运行远程调试器的设备。 并非所有设备都可在“远程连接”对话框中检测到。
提示
如果无法按名称连接到远程设备,请尝试使用其 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 (AMD64) 或 ARM64)匹配的版本。 在较旧版本的 Windows 服务器上,请参阅取消阻止文件下载,获取有关下载远程工具的帮助。 |
Visual Studio 2019 | 远程工具 | Visual Studio 2019 的远程工具可从 My.VisualStudio.com 获取。 如果出现提示,请加入免费的 Visual Studio Dev Essentials 计划,或使用 Visual Studio 订阅 ID 登录。 下载与设备操作系统(x86、x64 (AMD64) 或 ARM64)匹配的版本。 在较旧版本的 Windows 服务器上,请参阅取消阻止文件下载,获取有关下载远程工具的帮助。 |
Visual Studio 2017 | 远程工具 | Visual Studio 2017 的远程工具可从 My.VisualStudio.com 获取。 如果出现提示,请加入免费的 Visual Studio Dev Essentials 计划,或使用 Visual Studio 订阅 ID 登录。 下载与设备操作系统(x86、x64 (AMD64) 或 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 (AMD64) 或 ARM64)匹配的版本。 在 Windows 服务器上,请参阅取消阻止文件下载,获取有关下载远程工具的帮助。 有关最新版远程工具的信息,请打开 Visual Studio 2022 文档。 |
Visual Studio 2017 | 远程工具 | 兼容所有 Visual Studio 2017 版本。 下载与设备操作系统(x86、x64 (AMD64) 或 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。
配置远程工具
在远程计算机上,从“开始”菜单中查找并启动“远程调试器” 。
如果你没有远程计算机的管理权限,请右键单击“远程调试器”应用,然后选择“以管理员身份运行” 。 否则,正常启动即可。
如果打算附加到以管理员身份运行或在其他用户帐户(如 IIS)下运行的进程,请右键单击“远程调试器”应用,然后选择“以管理员身份运行” 。 有关详细信息,请参阅以管理员身份运行远程调试器。
首次启动远程调试器时(或在配置它之前),会显示“远程调试配置”向导。
在大多数情况下,请选择“下一步”,直到最后到达该向导的“配置 Windows 防火墙”页。
如果未安装 Windows Web 服务 API(仅会在 Windows Server 2008 R2 上发生这种情况),请选择“安装”按钮。
请至少选择一种要对其使用远程工具的网络类型。 如果这些计算机通过域连接,则必须选择第一项。 如果这些计算机通过工作组或家庭组连接,请根据需要选择第二或第三项。
接下来,选择“完成”以启动远程调试器。
接下来,选择“配置远程调试”以启动远程调试器。
配置完成后,将显示“远程调试器”窗口。
远程调试器正在等待连接。 使用显示的服务器名称和端口号在 Visual Studio 中设置远程连接配置。
若要停止远程调试器,请选择“文件”>“退出” 。 你可以从“开始”菜单或通过以下命令行重新启动它:
<Remote debugger installation directory>\msvsmon.exe
远程调试 UWP 应用
远程调试与本地调试方式相同。
在预创意者更新版 Windows 10 上,确保远程设备正在运行远程调试监视器 (msvsmon.exe)。
在 Visual Studio 计算机上,确保工具栏上的绿色箭头旁边显示了正确的调试目标(“远程计算机”或“设备”) 。
通过选择“调试”>“开始调试”、按 F5 或选择工具栏上的绿色箭头来启动调试 。
该项目将重新编译,然后在远程设备上部署并启动。 调试器在断点暂停执行,可让你单步调试、单步跳过和单步跳出代码。
如有必要,请选择“调试”>“停止调试”或按 Shift+F5 以停止调试并关闭远程应用 。