可以调试已在其他计算机上部署的 Visual Studio 应用程序。 为此,请使用 Visual Studio 远程调试器。
有关远程调试的深入说明,请参阅这些主题。
| Scenario | Link |
|---|---|
| C# 或 Visual Basic | 远程调试 C# 或 Visual Basic 项目 |
| C++ | 远程调试C++项目 |
| Azure App 服务 | 在 Azure 上进行 ASP.NET Core 远程调试,或者,对于 Visual Studio Enterprise 用户,可以使用快照调试器 |
| ASP.NET | 远程调试 ASP.NET 核心 或 远程调试 ASP.NET |
| Azure VM | Azure VM 上的远程调试 ASP.NET |
| Linux | 通过 SSH 附加到进程来调试 Linux 上的 .NET Core |
| Docker | 附加到在 Docker 容器中运行的进程 |
| 通用 Windows 应用(UWP) | 在远程计算机上运行 UWP 应用 或 调试已安装的应用包 |
如果只想下载并安装远程调试器,并且不需要方案的任何其他说明,请按照本文中的步骤作。
下载并安装远程工具
在要调试的远程设备或服务器上,而不是 Visual Studio 计算机,从下表中的链接下载并安装正确的远程工具版本。
- 下载 Visual Studio 版本的远程工具的最新更新。 适用于 Visual Studio 2022 和 2026 的远程工具可用于 Visual Studio 的任一版本。 但是,早于 Visual Studio 2022 的远程工具版本与更高版本的 Visual Studio 不兼容。 (例如,如果使用 Visual Studio 2019,请下载 Visual Studio 2019 远程工具的最新更新。在此方案中,请勿下载适用于 Visual Studio 2022 的远程工具。
- 下载 Visual Studio 版本的远程工具的最新更新。 早期远程工具版本与更高版本的 Visual Studio 不兼容。 (例如,如果使用 Visual Studio 2019,请下载 Visual Studio 2019 远程工具的最新更新。在此方案中,请勿下载适用于 Visual Studio 2022 的远程工具。
- 请下载与您用于安装的计算机体系结构相同的远程工具。 例如,如果要在运行 x64作系统的远程计算机上调试 x86 应用程序,请安装 x64 远程工具。 若要在 ARM64作系统上调试 x86、ARM 或 x64 应用程序,请安装 ARM64 远程工具。
| 版本 | Link | 注释 |
|---|---|---|
| Visual Studio 2022 | 远程工具 | 与所有 Visual Studio 2022 版本兼容。 下载与您的设备操作系统(x86、x64(AMD64)或 ARM64)匹配的版本。 在较旧版本的 Windows Server 上,请参阅 “取消阻止文件下载 ”以获取有关下载远程工具的帮助。 |
| Visual Studio 2019 | 远程工具 | Visual Studio 2019 的远程工具可从 My.VisualStudio.com 获取。 如果系统提示,请加入免费的 Visual Studio Dev Essentials 计划,或使用 Visual Studio 订阅 ID 登录。 下载与设备操作系统(x86、x64(AMD64)或 ARM64)匹配的版本。 在较旧版本的 Windows Server 上,请参阅 “取消阻止文件下载 ”以获取有关下载远程工具的帮助。 |
| Visual Studio 2017 | 远程工具 | Visual Studio 2017 的远程工具可从 My.VisualStudio.com 获取。 如果系统提示,请加入免费的 Visual Studio Dev Essentials 计划,或使用 Visual Studio 订阅 ID 登录。 下载与设备操作系统(x86、x64(AMD64)或 ARM64)匹配的版本。 在 Windows Server 上,请参阅 “取消阻止文件下载 ”以获取有关下载远程工具的帮助。 |
| Visual Studio 2015 | 远程工具 | Visual Studio 2015 的远程工具可从 My.VisualStudio.com 获取。 如果系统提示,请加入免费的 Visual Studio Dev Essentials 计划,或使用 Visual Studio 订阅 ID 登录。 在 Windows Server 上,请参阅 “取消阻止文件下载 ”以获取有关下载远程工具的帮助。 |
| Visual Studio 2013 | 远程工具 | Visual Studio 2013 文档中的“下载”页 |
| Visual Studio 2012 | 远程工具 | Visual Studio 2012 文档中的“下载”页 |
| 版本 | Link | 注释 |
|---|---|---|
| Visual Studio 2019 | 远程工具 | 与所有 Visual Studio 2019 版本兼容。 下载与设备操作系统(x86、x64(AMD64)或 ARM64)匹配的版本。 在 Windows Server 上,请参阅 “取消阻止文件下载 ”以获取有关下载远程工具的帮助。 对于最新版本的远程工具,请打开 Visual Studio 2022 文档。 |
| Visual Studio 2017 | 远程工具 | 与所有 Visual Studio 2017 版本兼容。 下载与设备操作系统(x86、x64(AMD64)或 ARM64)匹配的版本。 在 Windows Server 上,请参阅 “取消阻止文件下载 ”以获取有关下载远程工具的帮助。 |
| Visual Studio 2015 | 远程工具 | Visual Studio 2015 的远程工具可从 My.VisualStudio.com 获取。 如果系统提示,请加入免费的 Visual Studio Dev Essentials 计划,或使用 Visual Studio 订阅 ID 登录。 在 Windows Server 上,请参阅 “取消阻止文件下载 ”以获取有关下载远程工具的帮助。 |
| 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。
要求
受支持的操作系统
远程计算机必须运行以下作系统之一:
Windows 11
Windows 10 (非手机)
Windows 8 或 8.1 (非手机)
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
支持的硬件配置
1.6 GHz 或更快的处理器
在虚拟机上运行时,1 GB RAM(1.5 GB)
1 GB 可用硬盘空间
5400-RPM 硬盘驱动器
支持 DirectX 9 的视频卡,支持 1024 x 768 或更高的显示分辨率
网络配置
远程计算机和 Visual Studio 计算机必须通过网络、工作组或家庭组进行连接,或者通过以太网电缆直接连接。 不支持在通过代理连接的两台计算机之间进行调试。 不建议通过高延迟或低带宽(例如拨号上网)进行调试,或通过跨国家/地区的 Internet 进行调试,因为可能会失败或速度不可接受。
(可选)从文件共享运行远程调试器
可以在已安装 Visual Studio Community、Professional 或 Enterprise 的计算机上找到远程调试器(msvsmon.exe)。 对于某些方案,设置远程调试的最简单方法是从文件共享运行远程调试器(msvsmon.exe)。 有关使用限制,请参阅远程调试器的帮助页(远程调试器中的帮助 > 使用情况 )。
在与 Visual Studio 版本匹配的目录中查找 msvsmon.exe :
程序文件\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x64\msvsmon.exe
程序文件\Microsoft Visual Studio 17.0\Common7\IDE\Remote Debugger\x86\msvsmon.exe
程序文件 (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x64\msvsmon.exe
程序文件 (x86)\Microsoft Visual Studio\2019\Enterprise\Common7\IDE\Remote Debugger\x86\msvsmon.exe
在 Visual Studio 计算机上共享 远程调试器 文件夹。
在远程计算机上,从共享文件夹 运行msvsmon.exe 。 按照 设置说明进行。
小窍门
有关命令行安装和命令行参考文档的详细信息,请访问 msvsmon.exe 的帮助页,方法是在安装了 Visual Studio 的计算机上通过命令行键入 msvsmon.exe /?,或者在远程调试器中转到 帮助 > 使用情况。
设置远程调试器
在远程计算机上,从“开始”菜单查找并启动远程调试器。
如果远程计算机上没有管理权限,请右键单击 远程调试器 应用并选择“ 以管理员身份运行”。 否则,请正常启动它。
如果计划附加到以管理员身份运行的进程,或者正在其他用户帐户(如 IIS)下运行,请右键单击 远程调试器 应用,然后选择“ 以管理员身份运行”。 有关详细信息,请参阅 以管理员身份运行远程调试器。
首次启动远程调试器(或在配置远程调试之前),将显示 远程调试配置 向导。
在大多数情况下,请选择 “下一步 ”,直到到达向导的 “配置 Windows 防火墙 ”页。
如果未安装 Windows Web 服务 API(仅在 Windows Server 2008 R2 上发生),请选择“ 安装 ”按钮。
选择要在其中使用远程工具的至少一种网络类型。 如果计算机通过域连接,则必须选择第一项。 如果计算机通过工作组或家庭组连接,请根据需要选择第二项或第三项。
接下来,选择 “完成 ”以启动远程调试器。
接下来,选择“ 配置远程调试 ”以启动远程调试器。
配置完成后,将显示 “远程调试器” 窗口。
远程调试器现在正在等待连接。 使用显示的服务器名称和端口号在 Visual Studio 中设置远程连接配置。
若要停止远程调试器,请选择“ 文件>退出”。 可以从 “开始” 菜单或命令行重启它:
<Remote debugger installation directory>\msvsmon.exe
配置远程调试器
首次启动远程调试器后,可以更改远程调试器的配置的某些方面。
如果需要添加其他用户连接到远程调试器的权限,请选择 “工具 > 权限”。 必须具有管理员权限才能授予或拒绝权限。
重要
可以在与 Visual Studio 计算机上使用的用户帐户不同的用户帐户下运行远程调试器,但必须将不同的用户帐户添加到远程调试器的权限。
或者,您可以使用 /allow <username> 参数在命令行中启动远程调试器: msvsmon /allow <username@computer>。
如果需要更改身份验证模式或端口号,或者为远程工具指定超时值:选择 “工具 > 选项”。
有关默认使用的端口号的列表,请参阅 远程调试器端口分配。
警告
可以选择在“无身份验证”模式下运行远程工具,但强烈建议不要使用此模式。 在此模式下运行时,没有网络安全。 仅当确定网络不面临恶意或恶意流量的风险时,才选择“无身份验证”模式。
配置 Visual Studio 进行远程调试
有关从 Visual Studio 连接到应用的详细说明,请使用本文开头与特定方案相关的链接。
某些场景需要使用“附加到进程”来连接到已经启动的远程应用程序。 但是,对于 .NET Core、.NET 5+、.NET Framework 和C++应用,可以通过配置项目属性和启动调试器,从 Visual Studio 启动远程应用。 有关详细信息,请参阅 远程调试 C# 或 Visual Basic 项目 或 远程调试C++项目。
还可以远程调试不属于 Visual Studio 项目的可执行文件,尽管支持的调试功能取决于配置,例如符号的可用性。 有关详细信息,请参阅 调试不属于 Visual Studio 解决方案的应用。
(可选)将远程调试器配置为服务
若要在 ASP.NET 和其他服务器环境中进行调试,必须以管理员身份运行远程调试器,或者如果希望它始终运行,请以服务的形式运行远程调试器。
如果要将远程调试器配置为服务,请执行以下步骤。
查找 远程调试器配置向导 (rdbgwiz.exe)。 (这是与远程调试器分开的应用程序。仅当安装远程工具时,它才可用。 它未随 Visual Studio 一起安装。
开始运行配置向导。 当第一页出现时,单击“ 下一步”。
选中 “运行 Visual Studio 远程调试器即服务 ”复选框。
添加用户帐户和密码的名称。
可能需要将登录作为服务用户权限添加到此帐户(在“开始”页或窗口中查找本地安全策略(secpol.msc)(或在命令提示符处键入 secpol)。 当窗口出现时,双击“ 用户权限分配”,然后在右窗格中找到 “以服务身份登录 ”。 双击它。 将用户帐户添加到 “属性 ”窗口,然后单击“ 确定”。 单击 “下一步” 。
选择希望远程工具与之通信的网络类型。 必须至少选择一种网络类型。 如果计算机通过域连接,则应选择第一项。 如果计算机通过工作组或家庭组连接,则应选择第二项或第三项。 单击 “下一步” 。
如果服务可以启动,你将看到 你已成功完成 Visual Studio 远程调试器配置向导。 如果服务无法启动,你将看到 “无法完成 Visual Studio 远程调试器配置向导”。 该页还提供了一些提示,帮助用户启动服务。
单击“完成”。
此时,远程调试器作为服务运行。 可以通过转到 控制面板 > 服务 并查找 Visual Studio 远程调试器来验证这一点。
可以从 控制面板 > 服务停止和启动远程调试器服务。
设置使用远程符号进行调试
应该能够使用在 Visual Studio 计算机上生成的符号调试代码。 使用本地符号时,远程调试器的性能要好得多。 如果必须使用远程符号,则需要告知远程调试监视器在远程计算机上查找符号。
可以使用以下 msvsmon 命令行开关来为托管代码启用远程符号:Msvsmon /FallbackLoadRemoteManagedPdbs
有关详细信息,请参阅远程调试帮助(在远程调试器窗口中按 F1 ,或单击 “帮助 > 使用情况”)。