【譯】使用 Visual Studio 調試外部源程式碼
您是否曾經需要調試並進入依賴於 NuGet 或 .NET 庫的程式碼,而這些庫並沒有構建為您的解決方案的一部分? 現在,調試它們並不像調試作為解決方案一部分的項目那麼容易。從 Visual Studio 2022 預覽3開始,我們在解決方案資源管理器中添加了一個新的「External Sources,外部源程式碼」節點,這將使調試外部源文件變得更加容易。這個節點在調試時出現,它將顯示託管模組的源程式碼,其中載入的符號包含 Source Link 或 Source Server 資訊。您可以輕鬆地瀏覽這些源文件,並在需要時通過放置斷點進行調試。
Visual Studio 2022 團隊正在努力實現個人和團隊生產力的承諾。調試外部源程式碼是診斷工具中的一項功能,這只是我們正在研究的令人興奮的特性之一。
解決方案資源管理器中的外部源程式碼
該特性向 Solution Explorer 中添加了一個新的頂級節點,當您處於調試會話時,該節點就會出現,任何載入的帶有 Source Server 資訊的符號文件(.pdb)都將出現在該節點下。

您可以通過展開樹項來瀏覽文件。然後,雙擊一個項目從 Source Server 下載文件,並在編輯器中打開它。如果將模組設置為自動載入符號,則節點將在整個調試會話中與模組源程式碼保持一致。

如果你正在使用具有多個外部庫的應用程式,這些庫的組件已經發布到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. 一旦雙擊「外部源程式碼」中的項目,可能會提示您從伺服器下載源程式碼; 單擊「接受」,您就可以在編輯器中查看該項目的源程式碼。

讓我們知道你的想法!
這是為 Visual Studio 創建一流的外部源程式碼調試體驗的第一步。我們很快也會為本地程式碼帶來這種改變。我們非常感謝您花時間嘗試我們的最新功能,我們希望您能提供回饋,感謝!
原文鏈接
//devblogs.microsoft.com/visualstudio/debugging-external-sources-with-visual-studio/


