Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Membebaskan blok memori dalam tumpukan (hanya versi debug).
Sintaks
void _free_dbg(
void *userData,
int blockType
);
Parameter
userData
Pointer ke blok memori yang dialokasikan untuk dibebaskan.
blockType
Jenis blok memori yang dialokasikan untuk dibebaskan: _CLIENT_BLOCK, , _NORMAL_BLOCKatau _IGNORE_BLOCK.
Keterangan
Fungsi ini _free_dbg adalah versi debug dari free fungsi. Ketika _DEBUG tidak ditentukan, setiap panggilan ke _free_dbg dikurangi menjadi panggilan ke free. Baik free dan _free_dbg bebaskan blok memori di tumpukan dasar, tetapi _free_dbg mengakomodasi dua fitur debugging: kemampuan untuk menjaga blok yang dibeberkan dalam daftar tertaut timbunan untuk mensimulasikan kondisi memori rendah dan parameter jenis blok untuk membebaskan jenis alokasi tertentu.
_free_dbg melakukan pemeriksaan validitas pada semua file dan lokasi blok yang ditentukan sebelum melakukan operasi gratis. Aplikasi tidak diharapkan untuk memberikan informasi ini. Ketika blok memori dibebaskan, manajer timbunan debug secara otomatis memeriksa integritas buffer di kedua sisi bagian pengguna. Ini mengeluarkan laporan kesalahan jika mendeteksi penimpaan. _CRTDBG_DELAY_FREE_MEM_DF Jika bidang _crtDbgFlag bit bendera diatur, blok yang dibeberkan diisi dengan nilai 0xDD, menetapkan _FREE_BLOCK jenis blok, dan disimpan dalam daftar blok memori tertaut timbunan.
Jika terjadi kesalahan dalam membebaskan memori, errno diatur dengan informasi dari sistem operasi pada sifat kegagalan. Untuk informasi selengkapnya, lihat errno, _doserrno, _sys_errlist, dan _sys_nerr.
Untuk informasi tentang bagaimana blok memori dialokasikan, diinisialisasi, dan dikelola dalam versi debug timbunan dasar, lihat detail timbunan debug CRT. Untuk informasi tentang jenis blok alokasi dan cara penggunaannya, lihat Jenis blok pada tumpukan debug. Untuk informasi tentang perbedaan antara memanggil fungsi timbunan standar dan versi debug, lihat Men-debug versi fungsi alokasi timbunan.
Persyaratan
| Rutin | Header yang diperlukan |
|---|---|
_free_dbg |
<crtdbg.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
Untuk sampel cara menggunakan _free_dbg, lihat crt_dbg2.