Compartilhar via


_free_dbg

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

void _free_dbg( 
   void *userData,
   int blockType 
);

Parâmetros

  • userData
    Ponteiro para o bloco de memória alocado seja liberado.

  • blockType
    Tipo do bloco de memória alocado a ser lançado: _CLIENT_BLOCK, _NORMAL_BLOCK, ou _IGNORE_BLOCK.

Comentários

A função de _free_dbg é uma versão de depuração da função de livre . Quando _DEBUG não for definido, cada chamada a _free_dbg será reduzido para uma chamada a free. free e _free_dbg liberam um bloco de memória heap de base, mas _free_dbg acomode dois recursos de depuração: a capacidade de manter bloqueios liberados na lista vinculada do heap para simular a memória baixa condições e um parâmetro em blocos para liberar a alocação específica digita.

_free_dbg executa uma verificação de validade em todos os arquivos e locais especificados no bloco antes de executar a operação livre. O aplicativo não deve 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 do usuário e emite um relatório de erro se a substituição ocorreu. Se o campo de bit de _CRTDBG_DELAY_FREE_MEM_DF do sinalizador de _crtDbgFlag for definido, o bloco liberado será preenchido com o valor 0xDD, atribuído _FREE_BLOCK em blocos, e mantido na lista vinculada do heap de blocos de memória.

Se ocorrer um erro em liberar a memória, errno é definido com informações do sistema operacional na 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 atribuídos, inicializados, e gerenciados na versão de depuração da heap de base, consulte Detalhes da pilha de depuração CRT. Para obter informações sobre o bloco de alocação digitar e como elas são usadas, consulte Tipos de blocos no heap de depuração. Para obter informações sobre as diferenças entre chamar uma função padrão do heap e sua versão de depuração em uma compilação de depuração de um aplicativo, consulte Versões de depuração das funções de alocação da pilha.

Requisitos

Rotina

Cabeçalho necessário

_free_dbg

<crtdbg.h>

Para obter mais informações sobre 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 padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de chamadas de plataformas.

Consulte também

Referência

Rotinas de depuração

_malloc_dbg