Partager via


_CrtDumpMemoryLeaks

Un dump de 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

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

Notes

La fonction d' _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 du tas sont clichées dans un formulaire utilisateur-lisible.Lorsque _DEBUG n'est pas défini, les appels à _CrtDumpMemoryLeaks sont supprimés pendant le prétraitement.

_CrtDumpMemoryLeaks est souvent appelé à la fin de l'exécution du programme pour vérifier que toute la mémoire allouée par l'application a été récupérée.La fonction peut être appelée automatiquement à l'arrêt du programme en en activant le champ de bits d' _CRTDBG_LEAK_CHECK_DF de la balise de _crtDbgFlag à l'aide de la fonction de _CrtSetDbgFlag .

_CrtDumpMemoryLeaks appelle _CrtMemCheckpoint pour obtenir l'état actuel du tas puis copie le rapport pour les blocs qui n'ont pas été libérés.Lorsqu'un bloc unfreed est produit, _CrtDumpMemoryLeaks appelle _CrtMemDumpAllObjectsSince pour faire un dump des informations pour tous les objets alloués dans le tas le début de l'exécution du programme.

Par défaut, les blocs internes runtime C (_CRT_BLOCK) ne sont pas inclus dans les opérations d'image mémoire.La fonction de _CrtSetDbgFlag peut être utilisée pour mettre à 1 le bit d' _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 manière dont les blocs de mémoire sont alloués, initialisés, et gérés dans la version debug de tas de base, consultez gestion de la mémoire et le tas de débogage.

Configuration requise

routine

en-tête requis

_CrtDumpMemoryLeaks

<crtdbg.h>

Pour plus d'informations de compatibilité, consultez compatibilité dans l'introduction.

bibliothèques

Versions debug de Bibliothèques runtime C uniquement.

Exemple

Pour un exemple d'utilisation _CrtDumpMemoryLeaks, consultez crt_dbg1.

Équivalent .NET Framework

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez l' exemples d'appel de code non managé.

Voir aussi

Référence

Déboguez des routines