CMemoryState

CMemoryState temel sınıf yok.

CMemoryState programda bellek sızıntıları algılamak için kullanışlı bir yol sağlar. "Bellek sızıntısı" bir nesne için bellek öbek üzerinde ayrılan ama artık gerekli olmadığında kaldırıldı değil oluşur. Bu tür bellek sızıntıları sonunda bellek içi hatalara yol açabilir. Tahsis ve programınızda bellek ayırması için çeşitli yollar vardır.:

CMemoryState teşhis sadece new operatörünü kullanarak bellek tahsis nedeni bellek sızıntıları değil silmekkullanılarak kaldırıldı tespit yardımcı olur. C++ olmayan programlar ve onları Yeni ile karıştırma için bellek yönetimi işlevlerini diğer iki grup vardır ve aynı programda silmeniz önerilmez. Başka bir makro, debug_new, dosya ve satır numarası izleme bellek ayırmaları gerektiğinde new operatörünü değiştirmek için sağlanmıştır. Normalde new operatörünü kullanırsınız her debug_new kullanılır.

İle diğer tanılama gibi CMemoryState teşhis yalnızca program hata ayıklama sürümleri kullanılabilir. Bir hata ayıklama sürümü tanımlı _debug sabiti olmalıdır.

Programınızın bellek sızıntısı oluşuyor şüpheleniyorsanız, Checkpoint, farkve DumpStatistics işlevleri bellek durumu (ayrılmış nesneleri) arasındaki farkı bulmak için program yürütme iki farklı noktada kullanabileceğiniz. Bu bilgi işlevi o ayırır tüm nesnelere kadar temizlik olup olmadığını belirlemede yararlı olabilir.

Sadece yükleme ve kaldırma dengesizliği oluştuğu bilmek yeterli bilgi sağlamıyorsa, Checkpointönceki çağrısı bu yana ayrılan tüm nesneleri dökümü için DumpAllObjectsSince işlevini kullanabilirsiniz. Bu dökümü ayırma, kaynak dosya ve nerede nesne ayrılan ( debug_new için tahsisat kullanıyorsanız), satır sırasını gösterir ve nesne, adresini ve boyutuna türetme. DumpAllObjectsSince da mevcut durumu hakkında bilgi sağlamak için her nesnenin dökümü işlevini çağırır.

CMemoryState ve diğer tanılama kullanma hakkında daha fazla bilgi için bkz: mfc hata ayıklama desteği Visual c++ programlama Kılavuzu.

&Notnbsp;  Nesne türü CMemoryState ve üye işlev çağrılarını ve beyanlar parantez tarafından #if defined(_DEBUG)/#endif yönergeleri. Bu derlemeleri programının yalnızca hata ayıklama dahil edilecek Bellek Tanılama'yı neden.

Sı&nıf üyeleri |nbsp; Hiyerarşi çizelgesi

Index