Aracılığıyla paylaş


_CrtCheckMemory

Hata ayıklama yığınında ayrılan bellek bloklarının bütünlüğünü onaylar (yalnızca hata ayıklama sürümü).

Sözdizimi


int _CrtCheckMemory( void );

Dönüş değeri

Başarılı olursa döndürür _CrtCheckMemoryTRUE; aksi takdirde işlevi döndürür FALSE.

Açıklamalar

işlevi, _CrtCheckMemory temel alınan temel yığını doğrulayarak ve her bellek bloğunu inceleyerek hata ayıklama yığını yöneticisi tarafından ayrılan belleği doğrular. Temel alınan temel yığında hata veya bellek tutarsızlığıyla karşılaşılırsa, hata ayıklama üst bilgisi bilgileri veya üzerine yazma arabellekleri, _CrtCheckMemory hata koşulunu açıklayan bilgiler içeren bir hata ayıklama raporu oluşturur. Tanımlanmadığında _DEBUG , çağrısı _CrtCheckMemory ön işleme sırasında kaldırılır.

işlevi kullanılarak _CrtSetDbgFlag bayrağın bit alanları _crtDbgFlag ayarlanarak davranışı _CrtCheckMemory denetlenebilir. Bit alanının AÇILMASI _CRTDBG_CHECK_ALWAYS_DF , her bellek ayırma işlemi istenildiğinde çağrılmasını sağlar _CrtCheckMemory . Bu yöntem yürütmeyi yavaşlatsa da, hataları hızla yakalamak için yararlıdır. Bit alanı KAPALI olarak kapatıldığında _CRTDBG_ALLOC_MEM_DF yığının doğrulanmaması ve hemen döndürülmesi TRUEneden olur_CrtCheckMemory.

Bu işlev veya FALSEdöndürdüğündenTRUE, temel hata ayıklama hata işleme mekanizması oluşturmak için makrolardan birine _ASSERT geçirilebilir. Aşağıdaki örnek yığında bozulma algılanırsa onay hatasına neden olur:

_ASSERTE( _CrtCheckMemory( ) );

Diğer hata ayıklama işlevleriyle nasıl _CrtCheckMemory kullanılabildiği hakkında daha fazla bilgi için bkz . Yığın durumu raporlama işlevleri. Bellek yönetimine ve hata ayıklama yığınına genel bakış için bkz . CRT hata ayıklama yığını ayrıntıları.

Gereksinimler

Yordam Gerekli başlık
_CrtCheckMemory <Crtdbg>

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 _CrtCheckMemoryilişkin bir örnek için bkz crt_dbg1. .

Ayrıca bkz.

Hata ayıklama yordamları
_crtDbgFlag
_CrtSetDbgFlag