Compartir a través de


_free_dbg

Libera un bloque de memoria del montón (versión de depuración solo).

void _free_dbg( 
   void *userData,
   int blockType 
);

Parámetros

  • userData
    Puntero al bloque de memoria asignado que se libere.

  • blockType
    Tipo de bloque de memoria asignado que se libere: _CLIENT_BLOCK, _NORMAL_BLOCK, o _IGNORE_BLOCK.

Comentarios

La función de _free_dbges una versión de depuración de la función de libere .Cuando _DEBUG no está definido, cada llamada a _free_dbg se reduce a una llamada a free.free y _free_dbg se libera un bloque de memoria del montón base, pero _free_dbgincluye dos características de depuración: la capacidad de mantener los bloques liberados en la lista vinculada del montón para simular condiciones de memoria insuficiente y un parámetro blocktype para liberar tipos específicos de asignación.

_free_dbg realiza una comprobación de validez en todos los archivos especificados y ubicaciones de bloque antes de realizar la operación libre.la aplicación no es esperada proporcionar esta información.Cuando se libera un bloque de memoria, el administrador del montón de depuración comprueba automáticamente la integridad de los búferes situados a cada lado de la parte y del usuario un informe de error en caso de sobrescritura.Si _CRTDBG_DELAY_FREE_MEM_DFel campo de marcador de _crtDbgFlag se establece, el bloque no se rellena con el valor 0xDD, se asigna _FREE_BLOCK en bloques, y se mantiene la lista vinculada del montón de bloques de memoria.

Si se produce un error en liberar memoria, errno se establece con la información del sistema operativo de la naturaleza del error.Para obtener más información, vea errno, _doserrno, _sys_errlist, y _sys_nerr.

Para obtener información sobre cómo los bloques de memoria se asignan, inicialice, y se administran en la versión de depuración del montón base, vea Administración de memoria y el montón de depuración.Para obtener información sobre la asignación bloquee los tipos y cómo se utilizan, vea Tipos de bloques del montón de depuración.Para obtener información sobre las diferencias entre llamar a una función estándar de la pila y la versión de depuración en una compilación de depuración de una aplicación, vea Con la versión Versus de depuración la versión base.

Requisitos

rutina

Encabezado necesario

_free_dbg

<crtdbg.h>

Para obtener más información de compatibilidad, vea compatibilidad en la Introducción.

Ejemplo

Para obtener un ejemplo de cómo utilizar _free_dbg, vea crt_dbg2.

Equivalente en .NET Framework

No es aplicable Para llamar a la función estándar de C, utilice PInvoke. Para obtener más información, vea La invocación de plataforma ejemplos.

Vea también

Referencia

Rutinas de depuración

_malloc_dbg