你可以调试已部署在另一台计算机的 Visual Studio 应用程序。 要进行此操作,可使用 Visual Studio 远程调试器。
在远程设备或服务器,你想要调试,而非 Visual Studio 计算机,下载并安装远程工具的正确版本从下表中的链接。
- 下载最新版本的 Visual Studio 远程工具。 最新的远程工具版本兼容使用早期的 Visual Studio 版本,但早期的远程工具版本不是与更高版本的 Visual Studio 版本兼容。 (例如,如果使用 Visual Studio 2017,下载适用于 Visual Studio 2017 远程工具的最新的更新。 在此方案中,不要下载远程工具的 Visual Studio 2019。)
- 下载的远程工具使用相同的体系结构在计算机安装它们。 例如,如果你想要调试远程计算机运行 64 位操作系统上的 32 位应用程序,安装 64 位远程工具。
Version | 链接 | 说明 |
---|---|---|
Visual Studio 2019 |
与所有 Visual Studio 2019 版本兼容。 下载匹配您设备的操作系统 (x 86、 x64、 或 ARM64) 的版本。 在 Windows 服务器上,请参阅取消阻止文件下载下载远程工具的帮助。 | |
Visual Studio 2017 | 远程工具 | 与所有 Visual Studio 2017 版本兼容。 下载匹配您设备的操作系统 (x 86、 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 远程工具下载中可用。
远程计算机运行的是下列操作系统之一:
Windows 10 (而不是 phone)
Windows 8 或 8.1 (而不是 phone)
Windows 7 Service Pack 1
Windows Server 2016
Windows Server 2012 或 Windows Server 2012 R2
Windows Server 2008 Service Pack 2、Windows Server 2008 R2 Service Pack 1
Windows Phone 需要通过 USB 连接调试 (不需要远程工具)
1.6 GHz 或更快的处理器
1 GB 的 RAM(如果在虚拟机上运行则需 1.5 GB)
1 GB 的可用硬盘空间
5400 RPM 硬盘驱动器
DirectX 9 支持的视频卡,可在 1024 x 768 或更高版本的显示分辨率下运行
远程计算机与 Visual Studio 计算机必须通过网络、工作组、家庭组或其他通过以太网电缆直接连接的方式连接在一起。 不支持调试通过代理连接的两台计算机之间。 调试通过高延迟或低带宽连接,例如拨号 Internet,或通过 Internet 跨国家/地区不建议并可能会失败或很令人无法接受慢。
在某些情况下,设置远程调试的最简单方法是从文件共享运行远程调试器 (msvsmon.exe)。 有关使用情况的限制,请参阅远程调试器的帮助页 (帮助 > 用法远程调试器中)。
-
查找msvsmon.exe匹配你的 Visual Studio 版本的目录中:
Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x86\msvsmon.exe
Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe
共享远程调试器Visual Studio 计算机上的文件夹。
在远程计算机上运行msvsmon.exe从共享文件夹。 请按照安装说明进行操作。
命令行安装和命令行参考,请参阅的帮助页msvsmon.exe通过键入msvsmon.exe /?在安装了 Visual studio 计算机上的命令行中 (或转到帮助 > 用法远程调试器中)。
-
在远程计算机上从开始菜单中查找和启动远程调试器。
如果在远程计算机上没有管理权限,请右击远程调试器应用,然后选择以管理员身份运行。 否则,只需正常启动它即可。
如果想要附加到正在运行以管理员身份,或不同的用户下运行的进程帐户 (如 IIS) 中,右键单击远程调试器应用,然后选择以管理员身份运行. 有关详细信息,请参阅以管理员身份运行远程调试器。
-
第一次启动远程调试器 (或之前已配置),远程调试配置对话框随即出现。
如果 Windows Web 服务 API 未安装,这种情况发生,仅在 Windows Server 2008 R2 上,选择安装按钮。
选择你想要在使用远程工具的至少一个网络类型。 如果这些计算机通过域连接,则必须选择第一项。 如果这些计算机通过工作组或家庭组连接,选择相应的第二个或第三个项。
选择配置远程调试,配置防火墙并启动远程调试器。
-
配置完成后,远程调试器窗口会显示。
远程调试器现在正在等待连接。 使用服务器名称和端口号显示在 Visual Studio 中设置的远程连接配置。
若要停止远程调试器,请选择文件 > 退出。 您可以重新启动它从启动菜单中,或从命令行:
<Remote debugger installation directory>\msvsmon.exe
配置远程调试器
首次启动后,你可以更改远程调试器的部分配置。
-
如果你需要为连接到远程调试器,请选择其他用户添加权限工具 > 权限。 你必须拥有管理员特权才能授予或拒绝权限。
您可以在与您在Visual Studio计算机上使用的用户帐户不同的用户帐户下运行远程调试程序,但必须将其他用户帐户添加到远程调试程序的权限。
或者,可以从命令行启动远程调试器 /allow<用户名 > 参数: msvsmon /allow < username@computer> 。
-
如果你需要更改身份验证模式或端口号,或指定的远程工具的超时值: 选择工具 > 选项。
默认情况下使用的端口号的列表,请参阅Remote Debugger Port Assignments。
可以选择在“无身份验证”模式下运行远程工具,但强烈建议不要使用此模式。 在此模式下运行时,无法保证网络安全。 只有在确认网络不会遇到恶意通信的情况下,才可选择“无身份验证”模式。
用于调试 ASP.NET 和其他服务器环境中,您必须以管理员身份运行远程调试器或时,如果希望始终运行,作为服务运行远程调试器。
如果你想要配置远程调试器作为服务,请按照下列步骤。
找到 “远程调试器配置向导”(rdbgwiz.exe)。 (这是独立于远程调试器的应用程序。)仅在你安装远程工具后,它才可用。 它不与 Visual Studio 一起安装。
开始运行配置向导。 当第一页出现时,单击“下一步” 。
勾选“将 Visual Studio 2015 远程调试器作为服务运行” 复选框。
-
添加用户帐户的名称和密码。
可能需要添加作为服务登录右到此帐户的用户 (查找本地安全策略(secpol.msc) 中启动页或窗口 (或类型secpol在命令提示符下)。 当显示窗口时,双击“用户权限分配” ,然后在右窗格中找到 “作为服务登录”。 双击该选项。 将用户帐户添加到“属性”窗口,然后点击“确定”) 。 单击 “下一步” 。
选择你希望远程工具与之通信的网络类型。 必须至少选择一种网络类型。 如果这些计算机通过域连接,则应选择第一项。 如果这些计算机通过工作组或家庭组连接,则应选择第二或第三项。 单击 “下一步” 。
如果可以启动服务,则会显示 “你已成功完成 Visual Studio 远程调试器配置向导”。 如果无法启动服务,则会显示“未能完成 Visual Studio 远程调试器配置向导” 。 此页还提供了为使服务正常启动要遵循的一些提示。
-
单击 “完成” 。
此时,远程调试器正作为服务运行。 可以通过转到“控制面板”>“服务”并找到 “Visual Studio 2015 远程调试器”来对此进行验证 。
可以从“控制面板”>“服务”停止和启动远程调试器服务 。
你应能够使用你在 Visual Studio 计算机生成的符号调试你的代码。 使用本地符号时远程调试器的性能更佳。 如果必须使用远程符号,则需要告诉远程调试监视器以查找远程计算机上的符号。
从 Visual Studio 2013 Update 2 开始,你可以使用以下 msvsmon 命令行开关来使用用于托管代码的远程符号:Msvsmon /FallbackLoadRemoteManagedPdbs
有关详细信息,请参阅远程调试帮助(在远程调试器窗口中,按 F1 或依次单击“帮助”>“用法” )。 有关详细信息,可以参阅 Visual Studio 2012 和 2013 中的 .NET 远程符号加载更改