Condividi tramite


_heapchk

Esegue verifiche della coerenza sull'heap.

Sintassi

int _heapchk( void );

Valore restituito

_heapchk restituisce una delle costanti manifeste di tipo Integer seguenti definite in Malloc.h.

Valore restituito Condizione
_HEAPBADBEGIN Le informazioni iniziali sull'intestazione non sono disponibili o non sono disponibili.
_HEAPBADNODE È stato trovato un nodo non valido o l'heap è danneggiato.
_HEAPBADPTR Il puntatore nell'heap non è valido.
_HEAPEMPTY Heap non è stato inizializzato.
_HEAPOK L'heap risulta coerente.

Inoltre, se si verifica un errore, _heapchk imposta errno su ENOSYS.

Osservazioni:

La funzione _heapchk è utile per eseguire il debug di problemi relativi all'heap tramite il controllo della coerenza minima dell'heap. Se il sistema operativo non supporta _heapchk(ad esempio, Windows 98), la funzione restituisce _HEAPOK e imposta errno su ENOSYS.

Per impostazione predefinita, lo stato globale di questa funzione è limitato all'applicazione. Per modificare questo comportamento, vedere Stato globale in CRT.

Requisiti

Ciclo Intestazione obbligatoria Intestazione facoltativa
_heapchk <malloc.h> <errno.h>

Per altre informazioni sulla compatibilità, vedere Compatibility (Compatibilità).

Esempio

// 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

Vedi anche

Allocazione di memoria
_heapadd
_heapmin
_heapset
_heapwalk