使用 Azure Pipelines 發佈符號
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
使用 Azure Pipelines,您可以使用 索引來源和發佈符號 工作,將符號發佈至 Azure Artifacts 符號伺服器。 您可以使用調試程式來連線並自動擷取正確的符號檔,而不知道產品名稱、組建編號或套件名稱。 使用 Azure Pipelines,您也可以將符號發佈至檔案共用和可攜式 PDB。
備註
發行管線不支援 索引來源和發行符號 工作。
將符號發佈至 Azure Artifacts 符號伺服器
登入您的 Azure DevOps 組織,然後流覽至您的專案。
選擇 管線,選擇你的管線,然後選擇 編輯 來修改你的管線。
從管線定義中,選取 [
+
] 以新增工作。搜尋索引 的來源,並在任務 中發佈符號。 選取 [] 新增 [],將其新增至管線。
填寫必要的欄位,如下所示:
工作版本:2.\*。
顯示名稱:工作顯示名稱。
符號資料夾的路徑:裝載符號檔案之資料夾的路徑。
搜尋模式:用來尋找 .pdb 檔案的模式,該檔案位於您在符號資料夾 路徑下所指定的資料夾中。 支援單一資料夾通配符(
*
)和遞歸通配符(**
)。 範例:*\bin**.pdb:會在名為 bin的所有子目錄中搜尋所有 .pdb 檔案。索引來源:指出是否要將來源伺服器資訊插入 PDB 檔案中。
發佈符號:指出是否發佈符號檔。
- 符號伺服器類型:選取此組織/集合中的 符號伺服器(需要 Azure Artifacts) 將符號發佈至 Azure Artifacts 符號伺服器。
詳細的日誌記錄:在您的日誌中包含更詳細的資訊。
將符號發布到檔案共享
除了 Azure Artifacts 符號伺服器之外,您也可以使用 索引來源和發布符號 工作,將符號發佈至檔案共用區。
登入您的 Azure DevOps 組織,然後流覽至您的專案。
選取 管線,選取您的管線,然後選取 編輯 以修改您的管線。
從管線定義中,選取 [
+
] 以新增工作。搜尋 索引來源,並在工作 發佈符號。 選取 ,將 新增至您的管線。
填寫必要的欄位,如下所示:
工作版本:2.\*。
顯示名稱:工作顯示名稱。
符號資料夾的路徑:裝載符號檔案之資料夾的路徑。
搜尋模式:用來尋找 .pdb 檔案的模式,該檔案位於您在符號資料夾 路徑下所指定的資料夾中。
索引來源:指出是否要將來源伺服器資訊插入 PDB 檔案中。
發佈符號:指出是否發佈符號檔。
- 符號伺服器類型:選取 [檔案共用] 將符號發佈至檔案共用。
- 發佈符號的路徑:將符號存放於檔案共用的位置。
詳細日誌記錄:檢查以確保在日誌中包含更多資訊。
將可攜式 PDB 發佈至 Azure Artifacts 符號伺服器
可攜式 PDB 是可在所有平臺上建立及使用的符號檔,與只在 Windows 上使用的傳統 PDB 不同。 針對可攜式 PDB,建置會進行索引,但您仍然需要使用 索引來源和發佈符號 工作來發佈您的符號。
在 .NET 專案中使用來源連結
Source Link 是一組工具,可讓開發人員從 .NET 組件對應回原始程式碼進行除錯。 請參閱 dotnet/sourcelink GitHub 存放庫,以瞭解包含的不同套件。
針對裝載於 GitHub 的專案,請將
Microsoft.SourceLink.GitHub
套件參考新增至您的項目檔。<ItemGroup> <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All"/> </ItemGroup>
針對裝載於 Azure Repos 的專案(先前的 Visual Studio Team Services),請將
Microsoft.SourceLink.AzureRepos.Git
套件參考新增至您的項目檔。<ItemGroup> <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.1.1" PrivateAssets="All"/> </ItemGroup>
針對裝載於 Azure DevOps Server (前 Team Foundation Server)的專案,請將
Microsoft.SourceLink.AzureDevOpsServer.Git
套件參考新增至您的項目檔。<ItemGroup> <PackageReference Include="Microsoft.SourceLink.AzureDevOpsServer.Git" Version="1.1.1" PrivateAssets="All"/> </ItemGroup>
設定發佈工作
[索引來源] & [發佈符號] 工作可用來編製原始程式碼的索引,並將符號發佈至 Azure Artifacts 符號伺服器和檔案共用。 因為我們使用 Source Link,因此我們必須 停用發佈工作中 編製索引。
登入您的 Azure DevOps 組織,然後流覽至您的專案。
選取 [管道],選擇您的管道,然後選取 [編輯],以修改您的管道。
從管線定義中,選取 [
+
] 以新增工作。搜尋 指標來源,並在任務 發佈標記。 選取 新增 將其加入到管線中。
填寫必要的欄位,然後針對 符號伺服器類型選取 符號伺服器。 請確定取消選取 索引來源 以停用索引功能。
設定 Visual Studio
備註
Visual Studio for Mac 不支援使用符號伺服器進行偵錯。
開始從 Azure Artifacts 符號伺服器取用符號之前,讓我們確定 Visual Studio 已正確設定:
在 Visual Studio 中,選取 [[工具] 然後 [選項]。
從 [偵錯] 功能表中選取 [符號]。
選取
+
符號以新增符號伺服器位置。隨即會出現新的對話框,從下拉功能表中選取您的帳戶,然後選取您想要連線的組織。 當您完成時,請選取 [Connect]。
從同一個 [偵錯 ] 區段選取 [一般 ]。 向下捲動並檢查 啟用來源連結支援,以啟用可攜式 PDB 的支援。
備註
核取 [啟用來源伺服器支援] 選項,可讓您在原始程式碼無法在本機使用或符號檔不符合原始程式碼的情況下,使用 來源伺服器。 如果您想要啟用第三方原始程式碼的偵錯,請取消選取 [啟用 Just My Code] 複選框。
常見問題
問:符號保留多久的時間?
答:符號檔的保留期間與產生它的組建相同。 當您手動或使用保留原則刪除組建時,也會刪除該組建所產生的符號。
問:我可以在從 .NET Core 元件產生的可攜式 PDB 上使用來源索引嗎?
答:目前不可能這樣做。 目前不支援可攜式 PDB 的來源索引編製。 建議的方法是設定組建以執行索引。
相關文章
- 使用 Visual Studio進行偵錯。
- 使用 WinDbg進行偵錯。
- 設定保留原則。