连接远程调试程序

本文档介绍如何将 Visual Studio 远程调试程序连接到运行 Windows 的 Compute Engine 虚拟机上的进程。

前提条件

在开始之前,请确保您的虚拟机满足以下前提条件:

  • 运行 Windows 操作系统

  • 有一个公共 IP 地址

  • 已安装并启用了远程 PowerShell

    • 如果您不想启用 Remote PowerShell 连接,或者未在虚拟机上安装该程序,可通过搜索 MSDN Visual Studio 远程调试 (MSDN Visual Studio Remote Debugging) 来手动安装 Visual Studio 调试器远程工具。

    • 您还可以添加防火墙规则来取消屏蔽调试器远程工具端口。

您可以部署满足所有这些前提条件的 ASP.NET 框架映像

连接远程调试程序

要连接远程调试程序,请执行以下操作:

  1. 依次选择工具 > Google Cloud Tools > 显示 Google Cloud Explorer,以启动 Cloud Explorer

  2. 右键点击要将远程调试程序连接到的 Compute Engine 虚拟机实例,然后选择连接调试程序 (Attach debugger)。

    此时会显示连接调试程序向导。

  3. 系统提示添加防火墙规则以允许将流量传输到所需端口时,点击确定

    1. 点击对话框中的了解详情链接可转到打开防火墙端口部分,从中可以了解详情。
  4. 选择要调试的进程,然后点击确定

请注意以下事项:

  • 首次连接到远程虚拟机实例时,向导会为您安装 Visual Studio 调试器远程工具。如果虚拟机位于不同的区域,此项安装可能需要一些时间。

  • 调试程序工具安装在目标计算机上的 Program Files\VisualStudioRemoteTools 目录中。

  • 如果优化发布版本,则必须手动加载符号:

    1. 在调试应用时,请选择调试 > Windows > 模块

    2. 找到您的调试对象程序集。

    3. 右键点击相应的条目,然后选择加载符号 (Load Symbols)。

打开防火墙端口

要启用远程调试,您需要添加防火墙规则以允许将流量传输到目标计算机并启用与调试远程工具的连接。对于 Visual Studio 2017,端口为 4022

Cloud Tools for Visual Studio 可以使用远程 PowerShell 连接为您安装和启动远程工具。首先必须启用远程 PowerShell HTTPs 端口 5986

完成调试后,移除防火墙规则:

  1. 依次选择工具 > Google Cloud Tools > 显示 Google Cloud Explorer,以启动 Cloud Explorer

  2. 右键点击 Compute Engine 虚拟机实例,然后选择防火墙选项... (Firewall Options...)。

  3. 清除允许 Visual Studio 调试器连接到实例 (Allow Visual Studio Debugger connections to the instance) 以及允许远程 PowerShell HTTPs 流量传输到实例 (Allow Remote PowerShell HTTPs traffic to the instance) 防火墙规则的复选框。

  4. 点击保存以移除防火墙规则。