Aracılığıyla paylaş


_CrtDumpMemoryLeaks

Bellek sızıntısı oluştuğunda hata ayıklama yığınındaki tüm bellek bloklarını döküm eder (yalnızca hata ayıklama sürümü).

Sözdizimi


int _CrtDumpMemoryLeaks( void );

Dönüş değeri

_CrtDumpMemoryLeaks bir bellek sızıntısı bulunursa döndürür TRUE . Aksi takdirde işlevi döndürür FALSE.

Açıklamalar

İşlev, _CrtDumpMemoryLeaks program yürütmenin başlangıcından bu yana bellek sızıntısı olup olmadığını belirler. Bir sızıntı bulunduğunda, yığındaki tüm nesnelerin hata ayıklama üst bilgisi kullanıcı tarafından okunabilir bir forma atılır. Tanımlanmadığında _DEBUG , çağrısı _CrtDumpMemoryLeaks ön işleme sırasında kaldırılır.

_CrtDumpMemoryLeaks uygulama tarafından ayrılan tüm belleğin boşaltıldığını doğrulamak için genellikle program yürütmesinin sonunda çağrılır. İşlev, işlevi kullanılarak bayrağın _CRTDBG_LEAK_CHECK_DF bit alanı _crtDbgFlag açılarak program sonlandırma sırasında _CrtSetDbgFlag otomatik olarak çağrılabilir.

_CrtDumpMemoryLeaks yığınının geçerli durumunu almak için çağrılar _CrtMemCheckpoint ve ardından serbest bırakılmış bloklar için durumu tarar. Seyrek bir blokla karşılaşıldığında, _CrtDumpMemoryLeaks program yürütmenin başlangıcından itibaren yığında ayrılan tüm nesneler için döküm bilgilerine çağrır _CrtMemDumpAllObjectsSince .

Varsayılan olarak, iç C çalışma zamanı blokları (_CRT_BLOCK) bellek dökümü işlemlerine dahil değildir. _CrtSetDbgFlag işlevi, bu blokları sızıntı algılama işlemine dahil etmek için bitini _crtDbgFlag açmak _CRTDBG_CHECK_CRT_DF için kullanılabilir.

Yığın durumu işlevleri ve _CrtMemState yapısı hakkında daha fazla bilgi için bkz . Yığın durumu raporlama işlevleri. Temel yığının hata ayıklama sürümünde bellek bloklarının nasıl ayrıldığı, başlatıldığı ve yönetildiği hakkında daha fazla bilgi için bkz . CRT hata ayıklama yığını ayrıntıları.

Gereksinimler

Yordam Gerekli başlık
_CrtDumpMemoryLeaks <crtdbg.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Kitaplıklar

Yalnızca C çalışma zamanı kitaplıklarının sürümlerinde hata ayıklama.

Örnek

nasıl kullanılacağına _CrtDumpMemoryLeaksilişkin bir örnek için bkz crt_dbg1. .

Ayrıca bkz.

Hata ayıklama yordamları