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