_CrtDumpMemoryLeaks
Mencadangkan semua blok memori dalam tumpukan debug ketika kebocoran memori telah terjadi (hanya versi debug).
Sintaks
int _CrtDumpMemoryLeaks( void );
Mengembalikan nilai
_CrtDumpMemoryLeaks
mengembalikan TRUE
jika kebocoran memori ditemukan. Sebaliknya, fungsi ini akan menampilkan FALSE
.
Keterangan
Fungsi menentukan _CrtDumpMemoryLeaks
apakah kebocoran memori telah terjadi sejak dimulainya eksekusi program. Ketika kebocoran ditemukan, informasi header debug untuk semua objek dalam tumpukan dibuang dalam bentuk yang dapat dibaca pengguna. Saat _DEBUG
tidak ditentukan, panggilan ke _CrtDumpMemoryLeaks
akan dihapus selama praprossesi.
_CrtDumpMemoryLeaks
sering dipanggil pada akhir eksekusi program untuk memverifikasi bahwa semua memori yang dialokasikan oleh aplikasi telah dibebaskan. Fungsi ini dapat dipanggil secara otomatis pada penghentian program dengan mengaktifkan _CRTDBG_LEAK_CHECK_DF
bidang _crtDbgFlag
bit bendera menggunakan _CrtSetDbgFlag
fungsi .
_CrtDumpMemoryLeaks
_CrtMemCheckpoint
panggilan untuk mendapatkan status heap saat ini dan kemudian memindai status untuk blok yang belum dikosongkan. Ketika blok yang belum dibuat ditemukan, _CrtDumpMemoryLeaks
panggilan _CrtMemDumpAllObjectsSince
untuk membuang informasi untuk semua objek yang dialokasikan dalam tumpukan sejak awal eksekusi program.
Secara default, blok run-time C internal (_CRT_BLOCK
) tidak disertakan dalam operasi cadangan memori. Fungsi ini _CrtSetDbgFlag
dapat digunakan untuk mengaktifkan _CRTDBG_CHECK_CRT_DF
bit _crtDbgFlag
untuk menyertakan blok-blok ini dalam proses deteksi kebocoran.
Untuk informasi selengkapnya tentang fungsi status timbunan dan _CrtMemState
struktur, lihat Fungsi pelaporan status timbunan. Untuk informasi selengkapnya tentang bagaimana blok memori dialokasikan, diinisialisasi, dan dikelola dalam versi debug timbunan dasar, lihat detail tumpukan debug CRT.
Persyaratan
Rutin | Header yang dibutuhkan |
---|---|
_CrtDumpMemoryLeaks |
<crtdbg.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Pustaka
Debug versi pustaka run-time C saja.
Contoh
Untuk sampel cara menggunakan _CrtDumpMemoryLeaks
, lihat crt_dbg1
.