【譯】使用 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/