_CrtMemDumpAllObjectsSince
Scarica le informazioni degli oggetti nell'heap dall'inizio dell'esecuzione del programma o da uno stato dell'heap specifico (solo per versione di debug).
void _CrtMemDumpAllObjectsSince(
const _CrtMemState *state
);
Parametri
- state
Puntatore allo stato dell'heap dal quale iniziare il processo di dump della memoria oppure NULL.
Note
La funzione _CrtMemDumpAllObjectsSince esegue il dump delle informazioni di intestazione di debug degli oggetti allocati nell'heap in formato leggibile dall'utente. Le informazioni di dump possono essere utilizzate dall'applicazione per tenere traccia delle allocazioni e rilevare problemi di memoria. Quando _DEBUG non è definito, le chiamate a _CrtMemDumpAllObjectsSince vengono rimosse durante la pre-elaborazione.
_CrtMemDumpAllObjectsSince utilizza il valore del parametro state per determinare dove avviare l'operazione di dump. Per iniziare ad eseguire il dump dello stato dell'heap specificato, il parametro state deve essere un puntatore a una struttura _CrtMemState compilata da _CrtMemCheckpoint prima che venga chiamato il metodo _CrtMemDumpAllObjectsSince. Quando state è NULL, la funzione avvia il dump dall'esecuzione del programma.
Se l'applicazione ha installato una funzione hook di debug chiamando _CrtSetDumpClient, allora per ogni volta che _CrtMemDumpAllObjectsSince esegue il dump delle informazioni su un tipo di blocco _CLIENT_BLOCK, chiama anche la funzione di dump dell'applicazione fornita. Per impostazione predefinita, i blocchi interni di runtime C (_CRT_BLOCK) non sono inclusi nelle operazioni di dump della memoria. La funzione _CrtSetDbgFlag può essere utilizzata per attivare il bit _CRTDBG_CHECK_CRT_DF _crtDbgFlag per includere questi blocchi. Inoltre, i blocchi liberati contrassegnati come liberati o ignorati (_FREE_BLOCK, _IGNORE_BLOCK) non vengono inclusi nel dump della memoria.
Per ulteriori informazioni sulle funzioni di stato dell'heap e la struttura _CrtMemState, consultare Funzioni per la creazione di report sullo stato dello heap. Per informazioni su come i blocchi di memoria vengono allocati, inizializzati e gestiti nella versione di debug dell'heap di base, consultare Informazioni dettagliate sull'heap di debug CRT.
Requisiti
Routine |
Intestazione obbligatoria |
---|---|
_CrtMemDumpAll-ObjectsSince |
<crtdbg.h> |
Per ulteriori informazioni sulla compatibilità, vedere Compatibilità nell'introduzione.
Librerie
Solo versioni di debug di Librerie di runtime C.
Esempio
Per un esempio su come utilizzare _CrtMemDumpAllObjectsSince, consultare crt_dbg2.
Equivalente .NET Framework
Non applicabile. Per chiamare la funzione standard C, utilizzare PInvoke. Per ulteriori informazioni, vedere Esempi di Invocazione della Piattaforma.