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