_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.