Share via


_CrtCheckMemory

Confirme l'intégrité des blocs de mémoire alloués dans la pile de débogage (version Debug uniquement).

int _CrtCheckMemory( void );

Valeur de retour

En cas de réussite, _CrtCheckMemory renvoie TRUE; sinon, la fonction renvoie FALSE.

Notes

La fonction _CrtCheckMemory valide la mémoire allouée par le gestionnaire de la pile de débogage en vérifiant la pile de base sous-jacente et en examinant chaque bloc de mémoire. Si une incohérence de mémoire ou une erreur se produit dans le tas de base sous-jacent, les informations d'en-tête de débogage, ou les mémoires tampons de remplacement, _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 de _CrtCheckMemory sont supprimés pendant le prétraitement.

Le comportement de _CrtCheckMemory peut être contrôlé en définissant les champs de bits de l'indicateur _crtDbgFlag en utilisant la fonction _CrtSetDbgFlag. Tournant le champ de bits _CRTDBG_CHECK_ALWAYS_DF ON entraine que _CrtCheckMemory est 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. Tournant le champ de bits _CRTDBG_ALLOC_MEM_DF OFF entraine _CrtCheckMemory de ne pas vérifier la pile et ne pas renvoyer immédiatement VRAI.

Cette fonction renvoie VRAI ou FAUX, elle peut être passée à une des macros _ASSERT pour créer un mécanisme simple de gestion des erreurs d'erreur de débogage. L'exemple suivant provoque un échec d'assertion si l'altération est détectée dans la pile:

_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 de la pile. Pour une présentation de gestion de la mémoire et de la pile de débogage, consultez Détails du tas de débogage CRT.

Configuration requise

Routine

En-tête requis

_CrtCheckMemory

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

Équivalent .NET Framework

System::Diagnostics::PerformanceCounter

Voir aussi

Référence

Routines de débogage

_crtDbgFlag

_CrtSetDbgFlag