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