Partager via


_CrtDumpMemoryLeaks

Vide tous les blocs de mémoire dans le tas de débogage quand une fuite de mémoire s’est produite (version de débogage uniquement).

Syntaxe


int _CrtDumpMemoryLeaks( void );

Valeur retournée

_CrtDumpMemoryLeaks retourne TRUE si une fuite de mémoire est trouvée. Sinon, la fonction retourne FALSE.

Notes

La fonction _CrtDumpMemoryLeaks détermine si une fuite de mémoire a eu lieu depuis le début de l’exécution du programme. Quand une fuite est détectée, les informations d’en-tête de débogage pour tous les objets du tas sont exportées dans un format lisible par l’utilisateur. Quand _DEBUG n’est pas défini, les appels à _CrtDumpMemoryLeaks sont supprimés lors du prétraitement.

_CrtDumpMemoryLeaks est fréquemment appelé à la fin de l’exécution du programme pour vérifier que toute la mémoire allouée par l’application a été libérée. La fonction peut être appelée automatiquement à l’arrêt du programme en activant le _CRTDBG_LEAK_CHECK_DF champ bit de l’indicateur à l’aide _crtDbgFlag de la _CrtSetDbgFlag fonction.

_CrtDumpMemoryLeaks appelle _CrtMemCheckpoint pour obtenir l’état actuel du tas, puis analyse l’état des blocs qui n’ont pas été libérés. Lorsqu’un bloc nonfreed est rencontré, _CrtDumpMemoryLeaks les appels _CrtMemDumpAllObjectsSince à des informations de vidage pour tous les objets alloués dans le tas à partir du début de l’exécution du programme.

Par défaut, les blocs d’exécution C internes (_CRT_BLOCK) ne sont pas inclus dans les opérations de vidage de mémoire. La _CrtSetDbgFlag fonction peut être utilisée pour activer le _CRTDBG_CHECK_CRT_DF bit de _crtDbgFlag manière à inclure ces blocs dans le processus de détection de fuite.

Pour plus d’informations sur les fonctions d’état du tas et sur la structure _CrtMemState , consultez Fonctions de création de rapports sur l’état du tas. Pour plus d’informations sur la façon dont les blocs de mémoire sont alloués, initialisés et gérés dans la version de débogage du tas de base, consultez Détails du tas de débogage CRT.

Spécifications

Routine En-tête requis
_CrtDumpMemoryLeaks <crtdbg.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Bibliothèques

Uniquement les versions de débogage des bibliothèques Runtime C.

Exemple

Pour obtenir un exemple d’utilisation _CrtDumpMemoryLeaks, consultez crt_dbg1.

Voir aussi

Routines de débogage