Visual Studio 调试系列11 远程调试

你可以调试已部署在另一台计算机的 Visual Studio 应用程序。 要进行此操作,可使用 Visual Studio 远程调试器。

01 下载和安装远程工具

在远程设备或服务器,你想要调试,而非 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 远程工具下载中可用。

02 支持的操作系统

远程计算机运行的是下列操作系统之一:

  • 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 连接调试 (不需要远程工具)

03 支持的硬件配置
  • 1.6 GHz 或更快的处理器

  • 1 GB 的 RAM(如果在虚拟机上运行则需 1.5 GB)

  • 1 GB 的可用硬盘空间

  • 5400 RPM 硬盘驱动器

  • DirectX 9 支持的视频卡,可在 1024 x 768 或更高版本的显示分辨率下运行

04 网络配置

远程计算机与 Visual Studio 计算机必须通过网络、工作组、家庭组或其他通过以太网电缆直接连接的方式连接在一起。 不支持调试通过代理连接的两台计算机之间。 调试通过高延迟或低带宽连接,例如拨号 Internet,或通过 Internet 跨国家/地区不建议并可能会失败或很令人无法接受慢。

05 (可选)若要从文件共享运行远程调试器
可以在已安装 Visual Studio Community、 Professional 或 Enterprise 的计算机上找到远程调试器 (msvsmon.exe)。

在某些情况下,设置远程调试的最简单方法是从文件共享运行远程调试器 (msvsmon.exe)。 有关使用情况的限制,请参阅远程调试器的帮助页 (帮助 > 用法远程调试器中)。

  1. 查找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

  2. 共享远程调试器Visual Studio 计算机上的文件夹。

  3. 在远程计算机上运行msvsmon.exe从共享文件夹。 请按照安装说明进行操作

命令行安装和命令行参考,请参阅的帮助页msvsmon.exe通过键入msvsmon.exe /?在安装了 Visual studio 计算机上的命令行中 (或转到帮助 > 用法远程调试器中)。

06 设置远程调试器
  1. 在远程计算机上从开始菜单中查找和启动远程调试器。

    如果在远程计算机上没有管理权限,请右击远程调试器应用,然后选择以管理员身份运行。 否则,只需正常启动它即可。

    如果想要附加到正在运行以管理员身份,或不同的用户下运行的进程帐户 (如 IIS) 中,右键单击远程调试器应用,然后选择以管理员身份运行. 有关详细信息,请参阅以管理员身份运行远程调试器

  2. 第一次启动远程调试器 (或之前已配置),远程调试配置对话框随即出现。

    远程调试器配置

  3. 如果 Windows Web 服务 API 未安装,这种情况发生,仅在 Windows Server 2008 R2 上,选择安装按钮。

  4. 选择你想要在使用远程工具的至少一个网络类型。 如果这些计算机通过域连接,则必须选择第一项。 如果这些计算机通过工作组或家庭组连接,选择相应的第二个或第三个项。

  5. 选择配置远程调试,配置防火墙并启动远程调试器。

  6. 配置完成后,远程调试器窗口会显示。

    远程调试器窗口

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

若要停止远程调试器,请选择文件 > 退出。 您可以重新启动它从启动菜单中,或从命令行:

<Remote debugger installation directory>\msvsmon.exe

配置远程调试器

首次启动后,你可以更改远程调试器的部分配置。

  • 如果你需要为连接到远程调试器,请选择其他用户添加权限工具 > 权限。 你必须拥有管理员特权才能授予或拒绝权限。

    您可以在与您在Visual Studio计算机上使用的用户帐户不同的用户帐户下运行远程调试程序,但必须将其他用户帐户添加到远程调试程序的权限。

    或者,可以从命令行启动远程调试器 /allow<用户名 > 参数: msvsmon /allow < username@computer> 。

  • 如果你需要更改身份验证模式或端口号,或指定的远程工具的超时值: 选择工具 > 选项。

    默认情况下使用的端口号的列表,请参阅Remote Debugger Port Assignments

可以选择在“无身份验证”模式下运行远程工具,但强烈建议不要使用此模式。 在此模式下运行时,无法保证网络安全。 只有在确认网络不会遇到恶意通信的情况下,才可选择“无身份验证”模式。

07 (可选)配置远程调试器作为服务

用于调试 ASP.NET 和其他服务器环境中,您必须以管理员身份运行远程调试器或时,如果希望始终运行,作为服务运行远程调试器。

如果你想要配置远程调试器作为服务,请按照下列步骤。

  1. 找到 “远程调试器配置向导”(rdbgwiz.exe)。 (这是独立于远程调试器的应用程序。)仅在你安装远程工具后,它才可用。 它不与 Visual Studio 一起安装。

  2. 开始运行配置向导。 当第一页出现时,单击“下一步” 。

  3. 勾选“将 Visual Studio 2015 远程调试器作为服务运行” 复选框。

  4. 添加用户帐户的名称和密码。

    可能需要添加作为服务登录右到此帐户的用户 (查找本地安全策略(secpol.msc) 中启动页或窗口 (或类型secpol在命令提示符下)。 当显示窗口时,双击“用户权限分配” ,然后在右窗格中找到 “作为服务登录”。 双击该选项。 将用户帐户添加到“属性”窗口,然后点击“确定”) 。 单击 “下一步” 。

  5. 选择你希望远程工具与之通信的网络类型。 必须至少选择一种网络类型。 如果这些计算机通过域连接,则应选择第一项。 如果这些计算机通过工作组或家庭组连接,则应选择第二或第三项。 单击 “下一步” 。

  6. 如果可以启动服务,则会显示 “你已成功完成 Visual Studio 远程调试器配置向导”。 如果无法启动服务,则会显示“未能完成 Visual Studio 远程调试器配置向导” 。 此页还提供了为使服务正常启动要遵循的一些提示。

  7. 单击 “完成” 。

    此时,远程调试器正作为服务运行。 可以通过转到“控制面板”>“服务”并找到 “Visual Studio 2015 远程调试器”来对此进行验证 。

    可以从“控制面板”>“服务”停止和启动远程调试器服务 。

08 设置使用远程符号进行调试

你应能够使用你在 Visual Studio 计算机生成的符号调试你的代码。 使用本地符号时远程调试器的性能更佳。 如果必须使用远程符号,则需要告诉远程调试监视器以查找远程计算机上的符号。

从 Visual Studio 2013 Update 2 开始,你可以使用以下 msvsmon 命令行开关来使用用于托管代码的远程符号:Msvsmon /FallbackLoadRemoteManagedPdbs

有关详细信息,请参阅远程调试帮助(在远程调试器窗口中,按 F1 或依次单击“帮助”>“用法” )。 有关详细信息,可以参阅 Visual Studio 2012 和 2013 中的 .NET 远程符号加载更改

其他技术请参考

 

posted @ 2019-07-31 15:11  张传宁  阅读(1671)  评论(0编辑  收藏  举报
页脚 HTML 代码