【譯】使用 Visual Studio 除錯外部原始碼

MeteorSeed發表於2021-12-20

  您是否曾經需要除錯並進入依賴於 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 建立一流的外部原始碼除錯體驗的第一步。我們很快也會為原生程式碼帶來這種改變。我們非常感謝您花時間嘗試我們的最新功能,我們希望您能提供反饋,感謝!

原文連結

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

 

 

相關文章