_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 _CrtCheckMemory
TRUE
; 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 TRUE
neden olur_CrtCheckMemory
.
Bu işlev veya FALSE
dö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.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 _CrtCheckMemory
ilişkin bir örnek için bkz crt_dbg1
. .