_CrtCheckMemory

Mengonfirmasi integritas blok memori yang dialokasikan dalam tumpukan debug (hanya versi debug).

Sintaks


int _CrtCheckMemory( void );

Nilai hasil

Jika berhasil, _CrtCheckMemory mengembalikan TRUE; jika tidak, fungsi mengembalikan FALSE.

Keterangan

Fungsi ini _CrtCheckMemory memvalidasi memori yang dialokasikan oleh manajer timbunan debug dengan memverifikasi timbunan dasar yang mendasar dan memeriksa setiap blok memori. Jika terjadi kesalahan atau ketidakkonsistensi memori dalam timbunan dasar yang mendasarinya, informasi header debug, atau buffer timpa, _CrtCheckMemory menghasilkan laporan debug dengan informasi yang menjelaskan kondisi kesalahan. Jika _DEBUG tidak ditentukan, panggilan ke _CrtCheckMemory akan dihapus selama praproscesing.

Perilaku _CrtCheckMemory dapat dikontrol dengan mengatur bidang _crtDbgFlag bit bendera menggunakan _CrtSetDbgFlag fungsi . _CRTDBG_CHECK_ALWAYS_DF Mengaktifkan bidang bit menghasilkan dipanggil _CrtCheckMemory setiap kali operasi alokasi memori diminta. Meskipun metode ini memperlambat eksekusi, metode ini berguna untuk menangkap kesalahan dengan cepat. _CRTDBG_ALLOC_MEM_DF Mematikan bidang bit menyebabkan _CrtCheckMemory tidak memverifikasi timbunan dan segera mengembalikan TRUE.

Karena fungsi ini mengembalikan TRUE atau FALSE, fungsi ini dapat diteruskan ke salah _ASSERT satu makro untuk membuat mekanisme penanganan kesalahan debugging dasar. Contoh berikut menyebabkan kegagalan pernyataan jika kerusakan terdeteksi dalam tumpukan:

_ASSERTE( _CrtCheckMemory( ) );

Untuk informasi selengkapnya tentang bagaimana _CrtCheckMemory dapat digunakan dengan fungsi debug lainnya, lihat Fungsi pelaporan status timbunan. Untuk gambaran umum manajemen memori dan tumpukan debug, lihat detail tumpukan debug CRT.

Persyaratan

Rutin Header yang diperlukan
_CrtCheckMemory <crtdbg.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Pustaka

Debug versi pustaka run-time C saja.

Contoh

Untuk sampel cara menggunakan _CrtCheckMemory, lihat crt_dbg1.

Baca juga

Rutinitas debug
_crtDbgFlag
_CrtSetDbgFlag