5

【译】使用 Visual Studio 调试外部源代码

 2 years ago
source link: https://www.cnblogs.com/MeteorSeed/p/15467277.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

  您是否曾经需要调试并进入依赖于 NuGet 或 .NET 库的代码,而这些库并没有构建为您的解决方案的一部分? 现在,调试它们并不像调试作为解决方案一部分的项目那么容易。从 Visual Studio 2022 预览3开始,我们在解决方案资源管理器中添加了一个新的“External Sources,外部源代码”节点,这将使调试外部源文件变得更加容易。这个节点在调试时出现,它将显示托管模块的源代码,其中加载的符号包含 Source Link 或 Source Server 信息。您可以轻松地浏览这些源文件,并在需要时通过放置断点进行调试。

  Visual Studio 2022 团队正在努力实现个人和团队生产力的承诺。调试外部源代码是诊断工具中的一项功能,这只是我们正在研究的令人兴奋的特性之一。 

解决方案资源管理器中的外部源代码

  该特性向 Solution Explorer 中添加了一个新的顶级节点,当您处于调试会话时,该节点就会出现,任何加载的带有 Source Server 信息的符号文件(.pdb)都将出现在该节点下。

270073-20211026184229683-104369320.png

  您可以通过展开树项来浏览文件。然后,双击一个项目从 Source Server 下载文件,并在编辑器中打开它。如果将模块设置为自动加载符号,则节点将在整个调试会话中与模块源代码保持一致。

270073-20211026184305100-1528066246.png

  如果你正在使用具有多个外部库的应用程序,这些库的组件已经发布到Source Server,例如 Newtonsoft.Json、CsvHelper、xUnit.net 等。这个特性将让你更容易地浏览这些源代码,并在需要时调试它们。 

设置要求

  可以通过调试设置下的选项来管理符号加载和源代码下载。  

  按照下面的设置检查表,确保模块可以出现在解决方案资源管理器的“外部源代码”节点中。

  1. Tools -> Options -> Debugging 的选项

    Disable Just My Code:这将允许调试器尝试定位解决方案之外的代码符号。

  2. Tools -> Options > Debugging -> Symbols 的选项

    Enable Microsoft Symbol Server:这允许调试器尝试定位 Microsoft Symbol Server 上的符号

    Enable NuGet.org Symbol Server:这允许调试器尝试在 NuGet.org Symbol Server 上定位符号  

    Enable Load All Modules:这允许调试器加载所有模块的符号。(注意,这些选项将加载所有可用的符号,你可以通过选择“ Load only specified modules,只加载指定的模块”和指定包含的模块来限制符号加载。)   

  3. 您可能还需要检查 Debug -> Windows -> Modules,以查看当前哪些模块加载到内存中,并在需要时手动加载任何模块。 

  4. 一旦双击“外部源代码”中的项目,可能会提示您从服务器下载源代码; 单击“接受”,您就可以在编辑器中查看该项目的源代码。

270073-20211026184421361-114738192.png

让我们知道你的想法!  

  这是为 Visual Studio 创建一流的外部源代码调试体验的第一步。我们很快也会为本地代码带来这种改变。我们非常感谢您花时间尝试我们的最新功能,我们希望您能提供反馈,感谢!

原文链接

  https://devblogs.microsoft.com/visualstudio/debugging-external-sources-with-visual-studio/

 270073-20211026184523714-570130188.png


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK