Condividi tramite


_free_dbg

Libera un blocco di memoria nell'heap (versione di debug solo).

void _free_dbg( 
   void *userData,
   int blockType 
);

Parametri

  • userData
    Puntatore al blocco di memoria allocata da liberare.

  • blockType
    Tipo di blocco di memoria allocata da liberare: _CLIENT_BLOCK, _NORMAL_BLOCK, o _IGNORE_BLOCK.

Note

_free_dbgla funzione è una versione di debug di libero funzione.quando _DEBUG non è definita, ogni chiamata a _free_dbg è stato ridotto a una chiamata a free.entrambi free e _free_dbg liberare un blocco di memoria nell'heap di base, ma _free_dbgappropriata due funzionalità di debug: la possibilità di salvare ha liberato i blocchi elenco collegato dell'heap per simulare condizioni di memoria insufficiente e un parametro di tipo blocco per liberare tipi specifici di allocazione.

_free_dbg esegue un controllo di validità di tutti i file e i percorsi specificati di blocco prima di eseguire l'operazione libera.L'applicazione non è prevista fornire queste informazioni.Quando un blocco di memoria viene liberato, il gestore dell'heap di debug controlla automaticamente l'integrità dei buffer presenti da entrambi i lati della parte dell'utente e genera una segnalazione errori se sovrascrivere si è verificato.se _CRTDBG_DELAY_FREE_MEM_DFcampo di bit di _crtDbgFlag il flag è impostato, il blocco liberato viene riempito con un valore 0xDD, assegnato _FREE_BLOCK tipo di blocco e mantenere un elenco collegato dell'heap dei blocchi di memoria.

Se si verifica un errore in liberare la memoria, errno è impostato con informazioni dal sistema operativo sulla natura dell'errore.Per ulteriori informazioni, vedere errno, _doserrno, _sys_errlist e _sys_nerr.

Per informazioni su come i blocchi di memoria vengono allocati, inizializzati e vengono gestiti nella versione di debug dell'heap di base, vedere Gestione della memoria e heap di debug.Per informazioni sui tipi di blocchi di allocazione e come vengono utilizzati, vedere Tipi di blocchi sull'heap di debug.Per informazioni sulle differenze tra chiamare una funzione standard dell'heap e la relativa versione di debug in una build di debug di un'applicazione, vedere Utilizzando la versione di debug nella versione di base.

Requisiti

routine

Intestazione di associazione

_free_dbg

<crtdbg.h>

Per ulteriori informazioni sulla compatibilità, vedere compatibilità nell'introduzione.

Esempio

Per un esempio di utilizzo _free_dbg, vedere crt_dbg2.

Equivalente .NET Framework

Non applicabile. Per chiamare la funzione c standard, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di pinvoke.

Vedere anche

Riferimenti

Procedura di debug

differenze