_CrtDumpMemoryLeaks
Fait un dump tous les blocs de mémoire dans le tas de débogage lorsqu'une fuite de mémoire a eu lieu (version Debug uniquement).
int _CrtDumpMemoryLeaks( void );
Valeur de retour
_CrtDumpMemoryLeaks renvoie 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. Lorsqu'une fuite est trouvée, les informations d'en-tête du débogage pour tous les objets de la pile sont jetés dans un formulaire lisible par l'utilisateur. Lorsque _DEBUG n'est pas défini, Les appels de _CrtDumpMemoryLeaks sont supprimés pendant le prétraitement.
_CrtDumpMemoryLeaks est souvent appelé à la fin de l'exécution du programme pour vérifier que 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 activation du champ de bits _CRTDBG_LEAK_CHECK_DF de l'indicateur _crtDbgFlag à la fonction _CrtSetDbgFlag.
_CrtDumpMemoryLeaks appelle _CrtMemCheckpoint pour obtenir l'état actuel de la pile puis analyse l'état des blocs qui n'ont pas été libérés. Lorsqu'un bloc non-libéré apparaît, _CrtDumpMemoryLeaks appelle _CrtMemDumpAllObjectsSince pour faire un dump des informations pour tous les objets alloués dans le tas depuis le début de l'exécution du programme.
Par défaut, les blocs internes du runtime C (_CRT_BLOCK) ne sont pas inclus dans les opérations d'image mémoire. La fonction _CrtSetDbgFlag peut être utilisée pour mettre à 1 le bit _CRTDBG_CHECK_CRT_DF de _crtDbgFlag pour inclure ces blocs dans le processus de détection des fuites.
Pour plus d'informations sur les fonctions d'état du tas et la structure de _CrtMemState, consultez Fonctions de création de rapports d'é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 Debug du tas de base, consultez Détails du tas de débogage CRT.
Configuration requise
Routine |
En-tête requis |
---|---|
_CrtDumpMemoryLeaks |
<crtdbg.h> |
Pour plus d'informations sur la compatibilité, consultez Compatibilité dans l'introduction.
Bibliothèques
Seulement les versions debug des bibliothèques Runtime C.
Exemple
Pour un exemple d'utilisation de _CrtDumpMemoryLeaks, consultez crt_dbg1.
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.