_CrtDumpMemoryLeaks
Mencadangkan semua blok memori dalam tumpukan debug ketika kebocoran memori telah terjadi (hanya versi debug).
Sintaks
int _CrtDumpMemoryLeaks( void );
Nilai hasil
_CrtDumpMemoryLeaks
mengembalikan TRUE
jika kebocoran memori ditemukan. Sebaliknya, fungsi ini akan menampilkan FALSE
.
Keterangan
Fungsi menentukan _CrtDumpMemoryLeaks
apakah kebocoran memori telah terjadi sejak awal eksekusi program. Ketika kebocoran ditemukan, informasi header debug untuk semua objek dalam tumpukan dibuang dalam bentuk yang dapat dibaca pengguna. Jika _DEBUG
tidak ditentukan, panggilan ke _CrtDumpMemoryLeaks
akan dihapus selama praproscesing.
_CrtDumpMemoryLeaks
sering dipanggil di akhir eksekusi program untuk memverifikasi bahwa semua memori yang dialokasikan oleh aplikasi telah dibeberkan. Fungsi 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 timbunan saat ini dan kemudian memindai status untuk blok yang belum dibeberkan. Ketika blok yang belum ditemukan ditemukan, _CrtDumpMemoryLeaks
panggilan _CrtMemDumpAllObjectsSince
untuk mencadangkan informasi untuk semua objek yang dialokasikan dalam timbunan 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 timbunan debug CRT.
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_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
.