Condividi tramite


Heap di debug CRT

Aggiornamento: novembre 2007

Le informazioni contenute in questo argomento sono valide per:

Edition

Visual Basic

C#

C++

Web Developer

Express

Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Standard

Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Pro e Team

Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Legenda tabella:

Argomento applicabile

Si applica

Argomento non applicabile

Non applicabile

Argomento valido ma comando nascosto per impostazione predefinita

Comando o comandi nascosti per impostazione predefinita.

In questa sezione vengono fornite informazioni dettagliate sull'heap di debug CRT.

In questa sezione

  • Gestione della memoria e heap di debug
    Vengono descritte le versioni di debug delle funzioni heap. Queste funzioni risolvono due dei problemi di allocazione della memoria più difficili da gestire: la sovrascrittura della fine di un buffer allocato e la perdita di memoria, ovvero la mancata liberazione delle allocazioni quando non più necessarie.

  • Tipi di blocchi sull'heap di debug
    Vengono descritti i cinque tipi di allocazione ai quali vengono assegnati i blocchi di memoria nell'heap di debug. Le modalità con cui questi tipi di allocazione vengono registrati e inseriti in report variano a seconda della finalità: rilevamento di perdite o report sullo stato.

  • Heap di debug
    Vengono fornite informazioni sull'utilizzo dell'heap di debug. Vengono fornite informazioni sui seguenti aspetti: le chiamate che si risolvono in versioni di debug, le operazioni eseguite quando si libera un blocco di memoria, le funzionalità di debug a cui è necessario accedere dall'interno del codice, la procedura per la modifica dei campi di bit _crtDbgFlag per creare un nuovo stato per il flag e un esempio di codice che illustra l'attivazione del rilevamento automatico di perdite e la disattivazione del controllo di blocchi di tipo _CRT_BLOCK.

  • Heap di debug da C++
    Vengono discussi le versioni di debug degli operatori di C++ new e delete e gli effetti dell'utilizzo di _CRTDBG_MAP_ALLOC.

  • Funzioni per la creazione di report sullo stato dello heap
    Viene descritta la struttura _CrtMemState, che è possibile utilizzare per acquisire uno snapshot di riepilogo dello stato dell'heap. In questo argomento vengono elencate anche le funzioni CRT che indicano lo stato e il contenuto dell'heap e utilizzano tali informazioni per il rilevamento di perdite di memoria e altri problemi.

  • Registrazione delle richieste di allocazione heap
    Vengono indicate le istruzioni per identificare la chiamata specifica di allocazione heap non riuscita.

Sezioni correlate

  • Tecniche di debug CRT
    È possibile collegarsi alle tecniche di debug per la libreria di runtime del linguaggio C, tra cui: utilizzo della libreria di debug CRT, macro per la segnalazione, differenze tra malloc e _malloc_dbg, scrittura di funzioni hook di debug e heap di debug CRT.