你能够调试已部署在另外一台计算机的 Visual Studio 应用程序。 要进行此操做,可以使用 Visual Studio 远程调试器。html
在远程设备或服务器,你想要调试,而非 Visual Studio 计算机,下载并安装远程工具的正确版本从下表中的连接。windows
Version | 连接 | 说明 |
---|---|---|
Visual Studio 2019 安全 |
远程工具 服务器 |
与全部 Visual Studio 2019 版本兼容。 下载匹配您设备的操做系统 (x 8六、 x6四、 或 ARM64) 的版本。 在 Windows 服务器上,请参阅取消阻止文件下载下载远程工具的帮助。 |
Visual Studio 2017 | 远程工具 | 与全部 Visual Studio 2017 版本兼容。 下载匹配您设备的操做系统 (x 8六、 x6四、 或 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,这是可用的远程工具的最新版本。 app
若要调试在 Windows RT 设备上的 Windows 10 应用,使用 ARM,仅在 Visual Studio 2015 远程工具下载中可用。 工具
远程计算机运行的是下列操做系统之一:visual-studio
Windows 10 (而不是 phone)性能
Windows 8 或 8.1 (而不是 phone)spa
Windows 7 Service Pack 1
Windows Server 2016
Windows Server 2012 或 Windows Server 2012 R2
Windows Server 2008 Service Pack 二、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 远程符号加载更改