.NET uygulamanızı Visual Studio'da izleme (C#, C++, Visual Basic, F#)

Visual Studio 2022 sürüm 17.5'in yayımlanmasıyla birlikte, yeni dinamik İzleme aracını kullanabilirsiniz. Bu araç, işlevlerinizin tam olarak kaç kez çağrıldığını ve İzleme aracının önceki sürümünden daha hızlı olduğunu gösterir. Bu araç, PDB'lere gerek kalmadan .NET Core izlemesini destekler. Visual Studio 2022 sürüm 17.6 Preview 2'den başlayarak araç C/C++ sürümünü de destekler.

Araç CPU Kullanımı aracına benzer ancak CPU kullanımı yerine duvar saati süresine bağlıdır. Bu, CPU Kullanımı aracının aksine izleme izlemesinde kilitleri beklerken harcanan süre gibi engellenen sürenin gösterileceği anlamına gelir. İzleme aracını etkili bir şekilde kullanmayı öğrenme hakkında ek bilgi için bkz . İzlemeye Genel Bakış ve Yeni İzleme Aracı ile Visual Studio performansını iyileştirme.

Uygulamanızı izleme

  1. Visual Studio'da performans profili oluşturucuyu açmak için Alt+F2 (veya Performans Profil Oluşturucusunda Hata Ayıkla>) seçeneğini belirleyin.

  2. İzleme onay kutusunu seçin.

    İzleme aracının seçili olduğunu gösteren ekran görüntüsü.

    Profil oluşturucuyu başlatmadan önce Koleksiyonla başlat duraklatıldı seçeneğini etkinleştirirseniz, tanılama oturumu görünümünde Kayıt düğmesini seçene kadar veriler toplanmaz.

    Not

    Araç seçilemiyorsa, bazı araçların tek başına çalışması gerektiğinden diğer tüm araçların onay kutusunu temizleyin. Araçları birlikte çalıştırma hakkında daha fazla bilgi edinmek için bkz . Aynı anda birden çok profil oluşturucu aracı kullanma.

    Araç hala kullanılamıyorsa projenizin önceki gereksinimleri karşılayıp karşılamadığını denetleyin. En doğru verileri yakalamak için projenizin Yayın modunda olduğundan emin olun.

  3. Aracı çalıştırmak için Başlangıç düğmesini seçin.

  4. Programınızın izlemesi gereken öğeleri seçin.

    İzlemek için öğeleri seç iletişim kutusunu gösteren ekran görüntüsü.

    Visual Studio 2022 sürüm 17.11 Önizleme 1'den başlayarak, profil oluşturucu seçilen öğeleri bir sonraki profil oluşturma çalıştırması için kalıcı hale alır.

  5. Tamam'ı seçin.

  6. Araç çalışmaya başladıktan sonra uygulamanızda profil oluşturmanızı istediğiniz senaryoyu inceleyin. Ardından Toplamayı durdur'u seçin veya verilerinizi görmek için uygulamayı kapatın.

İzleme raporunu analiz etme

Profil oluşturma verileriniz Visual Studio'da görünür.

.NET İzleme verilerini gösteren ekran görüntüsü.

İzleme veri görünümü, en uzun süre çalışan işlev En Uzun İşlevler altında en üstte olacak şekilde sıralanmış işlevlerin listesini gösterir. Sık Erişimli Yol bölümünde, en çok zamanı kullanan işlevler için çağrı yığını gösterilir. Bu listeler performans sorunlarının yaşandığı işlevlerde size yol gösterebilir.

İlgilendiğiniz bir işleve tıkladığınızda daha ayrıntılı bir görünüm görürsünüz.

Kullanılabilir veriler CPU Kullanımı aracına benzer, ancak cpu kullanımı yerine duvar saati zamanına ve çağrı sayılarına dayanır.

İçgörüleri analiz etme

En İyi İçgörüler bölümünde herhangi bir içgörü görünürse, belirtilen sorun hakkında daha fazla bilgi edinmek için sağlanan bağlantıyı kullanın. Daha fazla bilgi için bkz . CPU içgörüleri, ancak İzleme aracıyla ilgili bilgilerin CPU kullanımına değil duvar saati zamanına özgü olduğunu unutmayın.

Buna ek olarak, Copilot kullanıyorsanız Copilot'a Sor düğmesini kullanarak Copilot sohbet penceresini açın; Copilot kodunuzun incelenmesine ve tanımlanan sorunlara göre öneriler sağlar.

İzleme ayrıntılı raporlarını analiz etme

İzleme raporunu analiz etmek için Ayrıntıları aç'a tıklayın veya İşlevler görünümünü açmak için üst işlevlerden birine tıklayın.

Rapor, tanılama verilerinin farklı görünümlerini sağlar:

  • Arayan/arayan
  • Çağrı ağacı
  • Modül
  • İşlevler
  • Alev grafiği

Arayan/aranan dışındaki tüm görünümlerde, tanılama raporu En yüksekten en düşüğe toplam [birim, %] ölçütüne göre sıralanır. Sütun başlıklarını seçerek sıralama düzenini veya sıralama sütununu değiştirin. İlgilendiğiniz bir işleve çift tıklayabilirsiniz ve işlevin kaynağını ve bu işlevde zamanın nereye harcandığını gösteren vurguyu görürsünüz. Tabloda işlevler (Toplam) olarak adlandırılanlar dahil olmak üzere işlevde harcanan süre gibi verileri içeren sütunlar ve işlevler (Self) hariç bir işlevde harcanan zamanı gösteren ikinci bir sütun gösterilir.

Bu veriler, işlevin kendisinin performans sorunu olup olmadığını değerlendirmenize yardımcı olabilir. Uç noktalarınızın yavaş olmasının veya kaynak tüketiminin ağır olmasının nedeninin üçüncü taraf kod veya çalışma zamanı kitaplıkları olup olmadığını görmek için yöntemin ne kadar veri görüntülediğini belirleyin.

Alev grafiğini kullanma hakkında daha fazla bilgi için bkz . Alev Grafı ile sık erişimli yolları belirleme.

İzleme çağrı ağacı

Çağrı ağacını görüntülemek için rapordaki üst düğümü seçin. Varsayılan olarak, İzleme sayfası Arayan/Arayan görünümüne açılır. Geçerli Görünüm açılan listesinde Çağrı Ağacı'nı seçin. Çağrı ağacı görünümü, performans sorunlarını hızla belirlemenize yardımcı olabilir.

Arama ağacı görünümünde en çok duvar saati zamanı kullanan işlev çağrılarını görmek için Sık Erişimli Yolu Genişlet ve Sık Erişimli Yolu Göster düğmelerine tıklayabilirsiniz.

Çağrı ağacı yapısını gösteren ekran görüntüsü.

Sütun değerleri hakkında daha fazla bilgi aşağıdadır:

  • Toplam işlevinde ve işlevi tarafından çağrılan işlevlerde ne kadar zaman harcandığını gösterir. Yüksek Toplam değerleri, en çok saat süresi tüketen işlevlere işaret eder.

  • Self işlevin gövdesinde ne kadar zaman harcandığını belirtir ve bu süre, işlevin çağırdığı işlevlerde harcanan zamanı dışlar. Yüksek Self değerleri, işlevin kendi içinde bir performans sorunu olduğunu gösterebilir.

  • Çağrı Sayısı , bir işlevin çağrılma sayısını gösterir.

  • Modül İşlevi içeren modülün adı.