Performans Profiler 'da hata ayıklama olmadan bellek kullanımını analiz etme
Bellek kullanımı Aracı, uygulamanızın bellek kullanımını izler. Visual Studio, etkin olarak geliştirmekte olduğunuz senaryoların gerçek zamanlı bellek efektlerini incelemek için aracı kullanabilirsiniz. Uygulamanın bellek durumlarının ayrıntılı anlık görüntülerini alabilir ve bellek sorunlarının ana nedenlerini bulmak için anlık görüntüleri karşılaştırabilirsiniz. bellek kullanımı aracı .net, ASP.NET, C++ veya karma mod (.net ve yerel) uygulamalarında desteklenir.
Bellek kullanımı aracı, hata ayıklayıcı ile veya olmadançalıştırılabilir. bu makalede, sürüm derlemeleri için önerilen Visual Studio performans Profiler'da hata ayıklayıcı olmadan bellek kullanımı aracının nasıl kullanılacağını göstereceğiz.
Bellek kullanımı tanılama oturumları
Bir bellek kullanımı Tanılama oturumu başlatmak için:
Visual Studio bir proje açın.
bellek kullanımı aracı .net, ASP.NET, C++ veya karma mod (.net ve yerel) uygulamalarını destekler.
hata ayıkla menüsünde, çözüm yapılandırmasını yayınlama olarak ayarlayın ve dağıtım hedefi olarak yerel Windows hata ayıklayıcı (veya yerel makine) öğesini seçin.
Menü çubuğunda, Hata Ayıkla > performans profil oluşturucusu' nu seçin.
Kullanılabilir araçlar' ın altında bellek kullanımı' nı seçin ve ardından Başlat' ı seçin.

Bellek kullanımını izleme
Bir Tanılama oturumu başlattığınızda, uygulamanız başlar ve Tanılama araçları penceresi, uygulamanızın bellek kullanımı için bir zaman çizelgesi grafiği görüntüler.

Zaman çizelgesi grafiği, uygulamanın çalıştırıldığı şekilde bellek dalgalanmalarını gösterir. Grafikteki ani artışlar genellikle bazı kodların veri toplamasını veya oluşturmasını ve işlem tamamlandığında bu dosyayı atmaya işaret ediyor. Büyük ani artışlar, iyileştirebilecek olan bölgeleri gösterir. Daha fazla sorun, yetersiz bellek kullanımı veya hatta bellek sızıntısı belirtebileceğinden, döndürülmemiş bellek tüketimine sahiptir.
Uygulama belleği durumlarının anlık görüntülerini al
Bir uygulama çok sayıda nesne kullanır ve analizinizi bir senaryoya göre yoğunlaşmak isteyebilirsiniz. Ya da araştırmak için bellek sorunları bulabilirsiniz. Bellek kullanımını belirli bir süre içinde yakalamak için bir Tanılama oturumu sırasında anlık görüntü alabilirsiniz. Bir bellek sorunu görüntülenmeden önce bir uygulamanın temel anlık görüntüsünü almak ve bu senaryoyu tekrarlamanız durumunda sorunun ilk oluşumunda daha sonra başka bir anlık görüntü sağlamak iyi bir fikir olabilir.
Anlık görüntü toplamak için bellek verilerini yakalamak istediğinizde anlık görüntü al ' ı seçin.
Tanılama oturumunu kapat
Bir rapor oluşturmadan izleme oturumunu durdurmak için, yalnızca tanılama penceresini kapatmanız yeterlidir. Anlık görüntü toplamayı bitirdiğinizde rapor oluşturmak için, toplamayı durdur' u seçin.

Bellek kullanım raporları
Veri toplamayı durdurduktan sonra, bellek kullanımı Aracı uygulamayı durdurur ve bellek kullanımı genel bakış sayfasını görüntüler.

Bellek kullanımı anlık görüntüleri
Anlık görüntü bölmelerinde bulunan sayılar, her anlık görüntü alındığı sırada bellekteki baytları ve nesneleri ve anlık görüntü ile bir önceki arasındaki farkı gösterir.
numaralar, yeni Visual Studio windows 'da ayrıntılı bellek kullanımı rapor görünümlerini açan bağlantılardır. Anlık görüntü ayrıntıları raporu , bir anlık görüntüdeki türleri ve örnekleri gösterir. Anlık görüntü farkı (fark) raporu , iki anlık görüntüdeki türleri ve örnekleri karşılaştırır.

| Görüntü | Description |
|---|---|
![]() |
Anlık görüntü çekilirken bellekteki toplam bayt sayısı. Tür örneklerinin toplam boyutuna göre sıralanmış bir anlık görüntü ayrıntıları raporu göstermek için bu bağlantıyı seçin. |
![]() |
Anlık görüntü çekilirken bellekteki toplam nesne sayısı. Bu bağlantıyı, türlerin örnek sayısına göre sıralanmış bir anlık görüntü ayrıntıları raporu göstermek için seçin. |
![]() |
Bu anlık görüntüdeki bellek nesnelerinin toplam boyutu ve önceki anlık görüntü arasındaki fark. Pozitif bir sayı, bu anlık görüntünün bellek boyutunun öncekinden daha büyük olduğu anlamına gelir ve negatif bir sayı ise boyutun daha küçük olduğu anlamına gelir. Taban çizgisi , bir anlık görüntünün bir tanılama oturumunda ilki olduğu anlamına gelir. Fark olmaması , farkın sıfır olduğu anlamına gelir. Bu bağlantıyı, türlerin örneklerinin toplam boyutundaki farka göre sıralanmış bir anlık görüntü fark raporu göstermek için seçin. |
![]() |
Bu anlık görüntüdeki toplam bellek nesnesi sayısı ve önceki anlık görüntü arasındaki fark. Bu bağlantıyı, türlerin örneklerinin toplam sayısıyla aradaki bir anlık görüntü fark raporu göstermek için seçin. |
Bellek kullanımı anlık görüntü raporları
Bellek kullanımı Genel Bakış sayfasında anlık görüntü bağlantılarından birini seçtiğinizde, yeni sayfada bir anlık görüntü raporu açılır.

Anlık görüntü raporunda, nesne türü girdilerini genişleterek alt girdileri görüntüleyebilirsiniz. Örnek adları, bellek kullanımı aracı tarafından oluşturulan benzersiz kimliklerdir.
Bir nesne türü mavi ise, kaynak koddaki nesneye gitmek için, ayrı bir pencerede bunu seçebilirsiniz.
Kodunuzun içindeki katılımlarınızı belirleyemezseniz veya bu kodun, .NET, işletim sistemi ya da derleyici nesnelerinden oluşan türler olabilir. Bellek kullanımı Aracı, nesnelerinizin sahiplik zincirlerine dahil olmaları durumunda bu nesneleri görüntüler.
Anlık görüntü raporunda:
Yönetilen yığın ağacı, rapordaki türleri ve örnekleri gösterir. Bir tür veya örnek seçildiğinde seçili öğe için kök ve başvurulan nesne ağaçlarına yönelik yollar görüntülenir.
Kök ağacına yönelik yollar , bir türe veya örneğe başvuran nesne zincirini gösterir. .NET atık toplayıcısı, yalnızca tüm başvuruları serbest bırakıldığında bir nesne için belleği temizler.
Başvurulan türler veya başvurulan nesneler ağacı, seçilen türün veya Örneğin başvurduğu nesneleri gösterir.
Rapor ağacı filtreleri
Uygulamalarda birçok tür uygulama geliştiricilerine çok ilginç değildir. Anlık görüntü raporu filtreleri yönetilen yığında bu türlerin çoğunu ve kök ağaçlara yolları gizleyebilir.

Bir ağacı tür adına göre filtrelemek için, filtre kutusuna adı girin. Filtre, büyük/küçük harfe duyarlı değildir ve tür adının herhangi bir bölümünde belirtilen dizeyi tanır.
Boyutu (bayt) toplam belleğin yüzde 0,5 ' inden az olan türleri gizlemek için filtre açılan menüsünde küçük nesneleri Daralt ' ı seçin.
Dış kod tarafından oluşturulan örneklerin çoğunu gizlemek için filtre açılan listesinde yalnızca kendi kodum seçin. Dış türler, işletim sistemi veya çerçeve bileşenlerine aittir veya derleyici tarafından oluşturulur.
Anlık görüntü ayrıntıları raporları
Anlık görüntü ayrıntıları raporu, bir tanılama oturumundan bir anlık görüntüyü açıklar. Raporu açmak için bir anlık görüntü bölmesindeki boyut veya nesneler bağlantısını seçin.

Her iki bağlantı de aynı raporu açar. Tek fark, yönetilen yığın ağacının başlangıç sıralama sıraıdır. Boyut bağlantısı, raporu kapsamlı boyut (bayt) sütununa göre sıralar. Nesneler bağlantısı, raporu say sütununa göre sıralar. Sıralama sütununu veya sırayı rapor açıldıktan sonra değiştirebilirsiniz.
Yönetilen yığın ağacı (anlık görüntü ayrıntıları raporları)
Yönetilen yığın ağacı bellekte tutulan nesne türlerini listeler. Türün en büyük on örneğini görüntülemek için bir tür adı genişletin, boyuta göre sıralanır. Seçili öğe için köke ve başvurulan nesne ağaçlarına yönelik yolları göstermek için bir tür veya örnek seçin.

Anlık görüntü ayrıntıları raporundaki yönetilen yığın ağacı aşağıdaki sütunlara sahiptir:
| Ad | Açıklama |
|---|---|
| Nesne Türü | Türün veya nesne örneğinin adı. |
| Sayısı | Türün nesne örneklerinin sayısı. Bir örnek için sayı her zaman 1'dir. |
| Boyut (Bayt) | Bir tür için anlık görüntüdeki türün tüm örneklerinin boyutu, örneklerde yer alan nesnelerin boyutu kadardır. Bir örnek için nesnenin boyutu, örnekte bulunan nesnelerin boyutu kadar küçük olur. |
| Kapsayıcı Boyut (Bayt) | Türün örneklerinin boyutu veya içerdiği nesnelerin boyutu da dahil olmak üzere tek bir örneğin boyutu. |
| Modül | nesnesini içeren modül. |
Kök ağacın yolları (Anlık görüntü ayrıntıları raporları)
Kök ağacının Yolları, bir türe veya örneke başvurulan nesnelerin zincirini gösterir. .NET çöp toplayıcısı, bir nesnenin belleğini yalnızca tüm başvurular serbest bırakıldıklarda temizler.
Kök ağacının Yolları'na bir tür için, başvurular içeren nesne sayısı Başvuru Sayısı sütununda görünür.

Başvurulan Türler veya Başvurulan Nesneler ağacı (Anlık görüntü ayrıntıları raporları)
Başvurulan Türler veya Başvurulan Nesneler ağacı, seçilen türün veya örneğin başvuran nesneleri gösterir.

Anlık görüntü ayrıntıları raporunda Başvurulan Türler ağacı aşağıdaki sütunlara sahip olur. Başvurulan Nesneler ağacında Başvuru Sayısı sütunu yok.
| Ad | Açıklama |
|---|---|
| Nesne Türü veya Örneği | Türün veya örneğin adı. |
| Başvuru Sayısı | Türler için, türün nesne örneklerinin sayısı. |
| Boyut (Bayt) | Bir tür için, türün tüm örneklerinin boyutu, türün içerdiği nesnelerin boyutu kadardır. Bir örnek için nesnenin boyutu, nesnesinde yer alan nesnelerin boyutu kadardır. |
| Kapsayıcı Boyut (Bayt) | Tür örneklerinin toplam boyutu veya içerdiği nesnelerin boyutu da dahil olmak üzere örneğin boyutu. |
| Modül | nesnesini içeren modül. |
Anlık görüntü farkı (fark) raporları
Anlık görüntü farkı (fark) raporu, birincil anlık görüntü ile önceki anlık görüntü arasındaki değişiklikleri gösterir. Fark raporunu açmak için anlık görüntü bölmesindeki fark bağlantılarından birini seçin.
Her iki bağlantı da aynı raporu açar. Tek fark, raporda Yönetilen Yığın ağacının başlangıç sıralama düzenidir. Boyut bağlantısı, raporu Kapsayıcı Boyut Fark (Bayt) sütununa göre sıralar. Nesneler bağlantısı, raporu Count Diff sütununa göre sıralar. Rapor açıldıktan sonra sıralama sütununu veya sıralamayı değiştirebilirsiniz.

Yönetilen Yığın ağacı (Anlık görüntü fark raporları)
Yönetilen Yığın ağacı, bellekte tutulan nesne türlerini listeler. Türün boyuta göre sıralanmış en büyük on örneğini görüntülemek için bir tür adını genişletabilirsiniz. Seçilen öğenin Kök ve Başvurulan Nesneler ağaç yollarını görüntülemek için bir tür veya örnek seçin.

Anlık görüntü fark raporuna sahip Yönetilen Yığın ağacı aşağıdaki sütunlara sahip:
| Ad | Açıklama |
|---|---|
| Nesne Türü | Türün veya nesne örneğinin adı. |
| Sayısı | Birincil anlık görüntüde bir türün örnek sayısı. Bir örnek için sayı her zaman 1'dir. |
| Fark Sayısı | Bir tür için, birincil anlık görüntü ile önceki anlık görüntü arasındaki türün örnek sayısı arasındaki fark. Alanı bir örnek için boştur. |
| Boyut (Bayt) | Birincil anlık görüntüdeki nesnelerin boyutu, nesnelerdeki nesnelerin boyutunun altındadır. Bir tür için Boyut (Bayt) ve Kapsayıcı Boyut (Bayt) tür örneklerinin boyutlarının toplamlarıdır. |
| Toplam Boyut Fark (Bayt) | Bir tür için, birincil anlık görüntü ile önceki anlık görüntü arasındaki tür örneklerinin toplam boyutu arasındaki fark, örneklerde nesnelerin boyutunun altındadır. Alanı bir örnek için boştur. |
| Kapsayıcı Boyut (Bayt) | Nesnelerdeki nesnelerin boyutu da dahil olmak üzere birincil anlık görüntüdeki nesnelerin boyutu. |
| Kapsayıcı Boyut Farkları (Bayt) | Bir tür için, nesnelerdeki nesnelerin boyutu da dahil olmak üzere birincil anlık görüntü ile önceki anlık görüntü arasındaki türün tüm örneklerinin boyutu arasındaki fark. Alanı bir örnek için boştur. |
| Modül | nesnesini içeren modül. |
Kök ağacın yolları (Anlık görüntü fark raporları)
Kök ağacının Yolları, bir türe veya örneke başvurulan nesnelerin zincirini gösterir. .NET çöp toplayıcısı, bir nesnenin belleğini yalnızca tüm başvurular serbest bırakıldıklarda temizler.
Kök ağacının Yolları'na bir tür için, başvurular içeren nesne sayısı Başvuru Sayısı sütununda görünür. Önceki anlık görüntüdeki sayı farkı Başvuru Farkı sütunundadır.

Başvurulan Türler veya Başvurulan Nesneler ağacı (Anlık görüntü fark raporları)
Başvurulan Türler veya Başvurulan Nesneler ağacı, seçilen türün veya örneğin başvuran nesneleri gösterir.

Bir anlık görüntü fark raporunda Başvurulan Türler ağacı aşağıdaki sütunlara sahip olur. Başvurulan Nesneler ağacında Örnek, Boyut (Bayt), Kapsayıcı Boyut (Bayt) ve Modül sütunları bulunur.
| Ad | Açıklama |
|---|---|
| Nesne Türü veya Örneği | Türün veya nesne örneğinin adı. |
| Başvuru Sayısı | Birincil anlık görüntüde bir türün örnek sayısı. |
| Başvuru Sayısı Fark | Bir tür için, birincil anlık görüntü ile önceki anlık görüntü arasındaki türün örnek sayısı arasındaki fark. |
| Boyut (Bayt) | Birincil anlık görüntüdeki nesnelerin boyutu, nesnelerdeki nesnelerin boyutunun altındadır. Bir tür için Boyut (Bayt) ve Kapsayıcı Boyut (Bayt) tür örneklerinin boyutlarının toplamlarıdır. |
| Toplam Boyut Fark (Bayt) | Bir tür için, birincil anlık görüntü ile önceki anlık görüntü arasındaki tür örneklerinin toplam boyutu arasındaki fark, örneklerde nesnelerin boyutunun altındadır. |
| Kapsayıcı Boyut (Bayt) | Nesnelerdeki nesnelerin boyutu da dahil olmak üzere birincil anlık görüntüdeki nesnelerin boyutu. |
| Kapsayıcı Boyut Farkları (Bayt) | Bir tür için, nesne içindeki nesnelerin boyutu dahil olmak üzere birincil anlık görüntü ve önceki anlık görüntü arasındaki türün tüm örneklerinin boyutuyla aradaki fark. |
| Modül | Nesneyi içeren modül. |



