Partager via


_CrtCheckMemory

Confirme l'intégrité des blocs de mémoire alloués dans le tas de débogage (version debug uniquement).

int _CrtCheckMemory( void );

Valeur de retour

En cas de réussite, retourne TRUE d' _CrtCheckMemory ; sinon, la fonction retourne FALSE.

Notes

La fonction d' _CrtCheckMemory valide la mémoire allouée par le gestionnaire du tas de débogage en vérifiant le tas de base sous-jacent et en examinant chaque bloc de mémoire.Si une incohérence d'erreur ou de mémoire est produite dans le tas de base sous-jacent, les informations d'en-tête de débogage, ou les mémoires tampons de remplacer, _CrtCheckMemory génère un rapport de débogage avec les informations décrivant la condition d'erreur.Lorsque _DEBUG n'est pas défini, les appels à _CrtCheckMemory sont supprimés pendant le prétraitement.

Le comportement d' _CrtCheckMemory peut être contrôlé en définissant les champs de bits de la balise de _crtDbgFlag à l'aide de la fonction de _CrtSetDbgFlag .Rotation du champ de bits de _CRTDBG_CHECK_ALWAYS_DF DANS les résultats dans _CrtCheckMemory appelé chaque fois qu'une opération d'allocation de mémoire est demandée.Bien que cette méthode ralentisse l'exécution, il est utile pour intercepter les erreurs rapidement.Rotation du champ de bits de _CRTDBG_ALLOC_MEM_DF OUTRE des causes _CrtCheckMemory pour ne pas vérifier le tas et ne pas retourner immédiatement TRUE.

Étant donné que cette fonction retourne TRUE ou FALSE, elle peut être passée à l'une des macros de _ASSERT créer un mécanisme simple de gestion des erreurs d'erreur de débogage.L'exemple suivant crée un échec d'assertion si l'altération est détectée dans le tas :

_ASSERTE( _CrtCheckMemory( ) );

Pour plus d'informations sur la façon dont _CrtCheckMemory peut être utilisé avec d'autres fonctions de débogage, consultez fonctions de création de rapports d'état du tas.Pour une présentation de gestion de la mémoire et du tas de débogage, consultez gestion de la mémoire et le tas de débogage.

Configuration requise

routine

en-tête requis

_CrtCheckMemory

<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 _CrtCheckMemory, consultez crt_dbg1.

Équivalent .NET Framework

System : : diagnostic : : PerformanceCounter

Voir aussi

Référence

Déboguez des routines

_crtDbgFlag

_CrtSetDbgFlag