_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