Compartilhar via


_free_dbg

Libera um bloco de memória no heap (somente a versão de depuração).

void _free_dbg( 
   void *userData,
   int blockType 
);

Parâmetros

  • userData
    Ponteiro para o bloco de memória alocada para ser liberado.

  • blockType
    Tipo de bloco de memória alocada para ser liberado: _CLIENT_BLOCK, _NORMAL_BLOCK, ou _IGNORE_BLOCK.

Comentários

O _free_dbg função é uma versão de depuração do livre função.Quando _ Debug não está definido, cada chamada para _free_dbg é reduzido a uma chamada para free.Ambos free e _free_dbg livre de um bloco de memória na pilha de base, mas _free_dbg acomoda os dois recursos de depuração: a capacidade de manter liberada bloqueia na lista vinculada da pilha para simular condições de pouca memória e um parâmetro de tipo de bloco para liberar os tipos de alocação específica.

_free_dbgexecuta uma verificação de validade em todos os arquivos especificados e locais de bloco antes de executar a operação livre.O aplicativo não é esperado para fornecer essas informações.Quando um bloco de memória é liberado, o Gerenciador de heap de depuração automaticamente verifica a integridade dos buffers em ambos os lados da parte de usuário e emite um relatório de erros se substituindo ocorreu.Se a _CRTDBG_DELAY_FREE_MEM_DF campo de bits da _crtDbgFlag sinalizador estiver definido, o bloco liberado é preenchido com o valor 0xDD, atribuído a _FREE_BLOCK bloquear o tipo e mantido na lista vinculada da pilha de blocos de memória.

Se ocorrer um erro em liberar a memória, errno está definida com informações do sistema operacional sobre a natureza da falha.Para obter mais informações, consulte errno, _doserrno, _sys_errlist e _sys_nerr.

Para obter informações sobre como blocos de memória são alocados, inicializados e gerenciados na versão de depuração da pilha base, consulte Gerenciamento de memória e a pilha de depuração.Para obter informações sobre os tipos de bloco de alocação e como eles são usados, consulte Tipos de blocos no Heap Debug.Para obter informações sobre as diferenças entre chamar uma função de heap padrão e sua versão de depuração em uma compilação de depuração de um aplicativo, consulte usando a depurar versão na Base de versão.

Requisitos

Rotina

Cabeçalho necessário

_free_dbg

<crtdbg.h>

Para obter mais informações de compatibilidade, consulte compatibilidade na introdução.

Exemplo

Para obter um exemplo de como usar _free_dbg, consulte crt_dbg2.

Equivalência do .NET Framework

Não aplicável. Para chamar a função c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Rotinas de depuração

_malloc_dbg