在 Visual Studio 内的协作会话中共同调试

Visual Studio Live Share 的协作调试功能非常强大,可专门用于调试问题。 此功能支持协作体验来解决问题。 通过在主持人的计算机上提供共享的调试会话,会话参与者还可以使用此功能调查可能特定于环境的问题。

提示

由于所有参与者都可以独立导航和编辑文件,作为主持人,你可能想要在项目中限制来宾可以通过 .vsls.json 文件访问的文件。 还应了解一点,控制台/REPL 访问权限意味着参与者可以在你的计算机上执行命令,因此,只能与你信任的参与者共同调试。 作为来宾,还请务必注意一点,由于这些设置,在调试程序进入某些受限的文件时,可能无法跟踪调试程序。 有关详细信息,请参阅控制文件的访问和可见性

若要使用它,协作会话主持人需要通过 Visual Studio 中的常用方式开始调试。

Screenshot that shows the Visual Studio Debug button.

在主持人一端附加调试程序后,系统会自动向所有来宾附加调试程序。 在主持人的计算机上只有一个正在运行的调试“会话”时,所有参与者都被连接到该会话并具有自己的视图。

提示

如果希望更改共同调试发生的时间和方式,可以通过工具 > 选项 > Live Share 设置更改默认行为。

Screenshot that shows the Visual Studio debugger attached.

任何人都可以分步完成调试过程,从而实现协作者之间的无缝切换,而无需协商控制权。

注意

请参阅平台支持,了解各语言或各平台对调试功能的支持情况。

每个协作者都可以调查不同的变量、在调用堆栈中跳转到其他文件、检查变量、甚至添加或删除断点。 每个参与者都可以使用共同编辑功能跟踪其他人的位置。 参与者可以在同时调查问题的不同方面和协作调试之间无缝切换。

注意

在只读协作会话中,来宾无法分步完成调试过程。 但是,他们仍然可以添加或删除断点并检查变量。

提示

也可以从 Visual Studio 中参与 Visual Studio Code 调试会话,反之亦然! 有关详细信息,请查看针对共同调试的 Visual Studio Code 说明

自动 Web 应用共享

对于 ASP.NET Web 应用项目,如果主持人的项目配置为在调试时自动启动 Web 浏览器以连接到正在运行的 Web 应用程序,Live Share 会在每个来宾计算机上自动执行相同操作! 此过程通过一种安全的方式完成,默认情况下,远程 Web 应用程序仅在调试会话期间对来宾可用。

有关如何针对其他项目类型以及在会话期间共享服务器访问的信息,请参阅共享服务器

提示

如果不喜欢浏览器的自动共享行为并希望更改此行为,可以更新工具 > 选项 > Live Share 中的设置。

Animation that shows concurrent debugging.

在 Visual Studio 加入调试会话时进行更改

默认情况下,当主持人共享调试会话时,来宾将被自动附加到调试会话。 但是,在某些情况下,你可能会发现此行为具有破坏性。 幸运的是,可以执行如下操作进行更改:

  1. 转到工具 > 选项 > Live Share
  2. 调试会话加入行为更改为以下其中一项:
选项 行为
自动 默认值。 来宾将自动加入由主持人启动的任何共享调试会话。
提示 作为来宾,当主持人发起会话时,系统将提示你加入共享调试会话。
手动 来宾将需要手动加入任何调试会话。 请参阅分离和重新附加

分离和重新附加

作为来宾,你可能希望暂时停止调试。 你可以单击调试工具栏中的停止图标来分离调试程序,而不会影响主持人或其他来宾。

你可能已经更新设置,因此不会再自动附加,或者想要以后重新附加。 可以从选择启动项... 下拉列表中选择首选的运行调试会话。

Screenshot that shows the Visual Studio Debug button when selecting a debugging session from the Select Startup Item drop-down.

然后单击它进行附加。

Screenshot that shows the Visual Studio Debug button when reattaching.

后续步骤