Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.