Partilhar via


_free_dbg

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

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

The _free_dbg função é uma versão de depurar das disponível função.Quando _DEBUG não estiver definido, cada telefonar para _free_dbg é reduzido a uma telefonar para free. Ambos os free e _free_dbg disponível um bloco de memória no heap de base, mas _free_dbg acomoda dois recursos de depuração: bloqueia a capacidade de manter liberada na lista vinculada da heap 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_dbg executa uma verificação de validade em todos os arquivos especificados e locais de bloco antes de executar a operação disponível. O aplicativo não deve fornecer essas informações.Quando um bloco de memória é liberado, o Gerenciador de heap de depurar automaticamente verifica a integridade dos buffers em ambos os lados da parte do usuário e emite um relatório de erros se substituindo ocorreu.Se o _CRTDBG_DELAY_FREE_MEM_DF campo de bit da _crtDbgFlag sinalizar de conjunto, o bloco liberado é preenchido com o valor 0xDD, atribuídos a _FREE_BLOCK bloquear o tipo e mantido na lista vinculada da heap de blocos de memória.

In Visual C++ 2005, se ocorrer um erro em liberar a memória errno é 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 os blocos de memória são alocados, inicializado e gerenciado na versão de depurar do heap de base, consulte A pilha de depurar e gerenciamento de memória.Para obter informações sobre os tipos de bloco de alocação e como eles são usados, consulte Tipos de blocos no Heap depurar.Para obter informações sobre as diferenças entre chamar uma função de heap padrão e sua versão de depurar em uma compilação de depurar de um aplicativo, consulte Usando a versão de depurar e a versão base.

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.

Equivalente do NET Framework

Não aplicável. Para telefonar 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 depurar

_malloc_dbg