Hata ayıklama için sembolleri yayımlama
Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2017
Bu Azure Pipelines, Dizin kaynakları ve sembolleri Azure Artifacts kullanarak sembollerinizi sembol sunucusunda yayımlayın. Ürün adlarını, derleme numaralarını veya paket adlarını bilmeden bağlanmak ve doğru sembol dosyalarını otomatik olarak almak için hata ayıklayıcıyı kullanabilirsiniz. Bu Azure Pipelines kullanarak, sembollerinizi dosya paylaşımları ve taşınabilir PDB'ler üzerinde de yayımlayın.
Not
Dizin kaynakları ve yayımlama sembolleri görevi yayın işlem hatlarında desteklenmiyor.
Sembol sunucusunda Azure Artifacts yayımlama
Sembollerinizi semboller sunucusuna Azure Artifacts için Dizin Kaynakları Sembolleri Yayımla görevini kullanabilirsiniz.
İşlem hattı tanımından yeni
+bir görev eklemek için öğesini seçin.Dizin kaynakları ve sembolleri yayımlama görevini arama. İşlem hattınıza eklemek için Ekle'yi seçin.
Gerekli alanları aşağıdaki gibi doldurun:
- Görev sürümü:2.\*.
- Görev sürümü:1.\*.
Görünen ad:görev görünen adı.
Semboller klasörünün yolu:sembol dosyalarını barındıran klasörün yolu.
Arama düzeni:Sembollerin yolu klasöründe belirttiğiniz klasörde pdb dosyalarını bulmak için kullanılan desen. Tek klasörli joker karakterler (
*) ve tekrarlayan joker karakterler (**) de destekledik. Örnek: *\bin**.pdb, tüm bin alt dizinlerinde tüm .pdb dosyalarını arar.Dizin kaynakları:PDB dosyalarına kaynak sunucu bilgileri eklemenin gerekip gerek olmadığını gösterir.
Sembolleri yayımla: sembol dosyalarının yayımlanıp yayımlanmayrı olduğunu gösterir.
- Sembol sunucusu türü:Sembol sunucularında sembollerinizi yayımlamak için bu kuruluşta/koleksiyonda Sembol Sunucusu'Azure Artifacts (Azure Artifacts Azure Artifacts gerekir) seçin.
Ayrıntılı günlük kaydı:Günlüklere daha fazla bilgi eklemek için kontrol edin.
Dosya paylaşımında sembol yayımlama
Sembol Azure Artifacts dışında, Dizin Kaynakları ve Sembolleri Yayımla görevini kullanarak sembollerinizi bir dosya paylaşımında da yayımlayın.
İşlem hattı tanımından yeni
+bir görev eklemek için öğesini seçin.Dizin kaynakları ve sembolleri yayımlama görevini arama. İşlem hattınıza eklemek için Ekle'yi seçin.
Gerekli alanları aşağıdaki gibi doldurun:
- Görev sürümü:2.\*.
- Görev sürümü:1.\*.
Görünen ad:görev görünen adı.
Semboller klasörünün yolu:sembol dosyalarını barındıran klasörün yolu.
Arama düzeni:Sembollerin yolu klasöründe belirttiğiniz klasörde pdb dosyalarını bulmak için kullanılan desen.
Dizin kaynakları:PDB dosyalarına kaynak sunucu bilgileri eklemenin gerekip gerek olmadığını gösterir.
Sembolleri yayımla: sembol dosyalarının yayımlanıp yayımlanmayrı olduğunu gösterir.
- Sembol sunucusu türü:Sembollerinizi bir dosya paylaşımında yayımlamak için Dosya paylaşımı'yı seçin.
- Sembolleri yayımlama yolu:simgelerinizi barındıracak dosya paylaşımı.
Ayrıntılı günlük kaydı:Günlüklere daha fazla bilgi eklemek için kontrol edin.
Taşınabilir PDB'leri Azure Artifacts sunucusuna yayımlama
Taşınabilir PDB'ler, yalnızca tek bir platformda kullanılan geleneksel PDB'lere göre tüm platformlarda oluşturulabilir ve Windows dosyalardır. Taşınabilir PDB'ler kullanıyorsanız, yine de sembollerinizi yayımlamak için Dizin Kaynakları ve Sembolleri Yayımla görevini kullansanız gerekir. Taşınabilir PDB'ler için derleme dizinleme yapar, ancak sembolleri işlem hattınız kapsamında dizine almak için SourceLink'i kullanmalıdır.
.NET projelerinde Kaynak Bağlantısını kullanma
Kaynak bağlantı, geliştiricilerin .NET derlemelerinden kaynak koda geri eşleerek kaynak kodlarında hata ayıklamasına olanak sağlayan bir araç kümesidir. Dahil edilen farklı paketler hakkında bilgi edinmek için GitHub dotnet/sourcelink bağlantısına göz atabilirsiniz.
Konakta barındırılan GitHub proje
Microsoft.SourceLink.GitHubdosyanıza paket başvurularını ekleyin.<ItemGroup> <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/> </ItemGroup>Konakta barındırılan Azure Repos proje
Microsoft.SourceLink.AzureRepos.Gitdosyanıza paket başvurularını ekleyin.<ItemGroup> <PackageReference Include="Microsoft.SourceLink.AzureRepos.Git" Version="1.0.0" PrivateAssets="All"/> </ItemGroup>Konakta barındırılan Azure DevOps Server proje
Microsoft.SourceLink.AzureDevOpsServer.Gitdosyanıza paket başvurularını ekleyin.<ItemGroup> <PackageReference Include="Microsoft.SourceLink.AzureDevOpsServer.Git" Version="1.0.0" PrivateAssets="All"/> </ItemGroup>
Derleme görevini ayarlama
Sonraki adım, derleme işlemi sırasında Kaynak Bağlantısını çağırmak için işlem hattında derleme görevini değiştirmektir.
İşlem hattı tanımından Çözüm oluşturma görevini seçin. Henüz yoksa, Visual Studio derleme görevini arayabilir ve işlem hattınıza ebilirsiniz.
Aşağıdaki kod parçacığını bağımsız değişkenlerini MSBuild ekleyin.
/p:SourceLinkCreate=trueBitirerek kuyruğu kaydet'i seçin.
Yayımlama görevini ayarlama
Kaynak kodunuzu dizine ekleme ve sembollerinizi semboller sunucusuna yayımlamak için Dizin Kaynaklarını & Azure Artifacts görevi kullanılır. Kaynağımızı dizine oluşturmak Visual Studio derleme görevini kullanıyoruz, yayımlama görevsinde dizin oluşturma özelliğini devre dışı bırakmayacak.
İşlem hattı tanımından yeni
+bir görev eklemek için öğesini seçin.Dizin kaynakları ve sembolleri yayımlama görevini arama. İşlem hattınıza eklemek için Ekle'yi seçin.
Gerekli alanları aşağıdaki gibi doldurun:
- Görev sürümü:2.\*.
- Görev sürümü:1.\*.
Dizin kaynakları:Dizin oluşturma özelliğini devre dışı bırakmak için işaretini kaldırın. Dizin oluşturma derleme sırasında yapılır. Diğer ayrıntılar için önceki adıma bakın.
Sembolleri yayımla: sembol dosyalarının yayımlanıp yayımlanmayrı olduğunu gösterir.
- Sembol sunucusu türü:Sembol sunucularında sembollerinizi yayımlamak için bu kuruluşta/koleksiyonda Sembol Sunucusu'Azure Artifacts (Azure Artifacts Azure Artifacts gerekir) seçin.
Visual Studio'yu ayarlama
Sembol sunucularından sembollerimizi Azure Artifacts başlamadan önce, Visual Studio doğru şekilde Visual Studio olun:
Bu Visual Studio Araçlar'ı ve ardından Seçenekler'iseçin.
Hata Ayıklama menüsünden Semboller'i seçin.
Yeni bir
+sembol sunucusu konumu eklemek için işareti seçin.
Yeni bir iletişim kutusu açılır, açılan menüden hesabınız ve ardından bağlanmak istediğiniz kuruluşu seçin. Bitir Bağlan'yi seçin.
Aynı Hata Ayıklama bölümünden Genel'i seçin. Aşağı kaydırın ve Taşınabilir PDB desteğini etkinleştirmek için Kaynak Bağlantısını Etkinleştir desteğini kontrol edin.
Not
Kaynak sunucu desteğini etkinleştir seçeneğinin işaret olması, yerel makinede kaynak kod yoksa veya sembol dosyası kaynak kodla eşleşmezse Kaynak Sunucuyu kullanmana olanak sağlar. Üçüncü taraf kaynak kodunda hata ayıklamayı etkinleştirmek için Etkinleştir onay kutusunun Yalnızca kendi kodum kaldırın.
Önemli
Dizin Kaynakları Sembolleri Yayımla görevi kullanılarak yayımlanan sembolleri silmek için önce bu sembolleri oluşturan derlemeyi silmeniz gerekir. Bu, bekletme ilkeleri kullanılarak veya çalıştırmayı el ile silerek gerçek olabilir.
SSS
S: Semboller ne kadar süreyle korunur?
A: Sembol dosyası, onu oluşturan derlemeyle aynı saklama süresine sahiptir. Bir derlemeyi el ile sildikten veya bekletme ilkelerini kullanarak sildikten sonra, bu derleme tarafından oluşturulan semboller de silinir.
S: Bir .NET Core derlemesi tarafından oluşturulan taşınabilir PDB'de kaynak dizini oluşturma kullanabilir miyim?
A: Şu anda bu mümkün değildir. Kaynak dizin oluşturma şu anda taşınabilir PDB'ler için desteklenmiyor. Önerilen yaklaşım, derlemenizi dizin oluşturma yapacak şekilde yapılandırmak olacaktır.
İlgili makaleler:
- Sembollere genel bakış.
- ile hata Visual Studio.
- WinDbg ile hata ayıklama.
- Dizin Kaynakları Sembolleri Yayımla görevi.
- Bekletme ilkelerini yapılandırma.