_heapchk
Executa verificações de consistência no heap.
Sintaxe
int _heapchk( void );
Retornar valor
_heapchk
retorna uma das seguintes constantes de manifesto de inteiro definidas em Malloc.h.
Valor retornado | Condição |
---|---|
_HEAPBADBEGIN |
As informações iniciais do cabeçalho estão incorretas ou não podem ser encontradas. |
_HEAPBADNODE |
Um nó inválido foi encontrado ou o heap está danificado. |
_HEAPBADPTR |
O ponteiro para o heap não é válido. |
_HEAPEMPTY |
O heap não foi inicializado. |
_HEAPOK |
O heap parece ser consistente. |
Além disso, se ocorrer um erro, _heapchk
definirá errno
como ENOSYS
.
Comentários
A função _heapchk
ajuda a depurar problemas relacionados ao heap verificando a consistência mínima do heap. Se o sistema operacional não oferecer suporte _heapchk
(por exemplo, Windows 98), a função retornará _HEAPOK
e definirá errno
como ENOSYS
.
Por padrão, o estado global dessa função tem como escopo o aplicativo. Para alterar esse comportamento, consulte Estado global na CRT.
Requisitos
Rotina | Cabeçalho necessário | Cabeçalho opcional |
---|---|---|
_heapchk |
<malloc.h> | <errno.h> |
Para obter informações sobre compatibilidade, consulte Compatibilidade.
Exemplo
// crt_heapchk.c
// This program checks the heap for
// consistency and prints an appropriate message.
#include <malloc.h>
#include <stdio.h>
int main( void )
{
int heapstatus;
char *buffer;
// Allocate and deallocate some memory
if( (buffer = (char *)malloc( 100 )) != NULL )
free( buffer );
// Check heap status
heapstatus = _heapchk();
switch( heapstatus )
{
case _HEAPOK:
printf(" OK - heap is fine\n" );
break;
case _HEAPEMPTY:
printf(" OK - heap is empty\n" );
break;
case _HEAPBADBEGIN:
printf( "ERROR - bad start of heap\n" );
break;
case _HEAPBADNODE:
printf( "ERROR - bad node in heap\n" );
break;
}
}
OK - heap is fine
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários