Partager via


_CrtCheckMemory

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

Syntaxe


int _CrtCheckMemory( void );

Valeur retournée

Si elle réussit, _CrtCheckMemory retourne TRUE; sinon, la fonction retourne FALSE.

Notes

La fonction _CrtCheckMemory valide la mémoire allouée par le gestionnaire de tas de débogage en vérifiant le tas de base sous-jacent et en inspectant chaque bloc de mémoire. Si une incohérence de mémoire ou une erreur est rencontrée 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. Quand _DEBUG n’est pas défini, les appels à _CrtCheckMemory sont supprimés lors du prétraitement.

Le comportement de _CrtCheckMemory peut être contrôlé en définissant les champs de bits de l’indicateur à l’aide _crtDbgFlag de la _CrtSetDbgFlag fonction. L’activation du _CRTDBG_CHECK_ALWAYS_DF champ bit ON entraîne _CrtCheckMemory l’appel à chaque fois qu’une opération d’allocation de mémoire est demandée. Bien que cette méthode ralentit l’exécution, il est utile d’intercepter rapidement les erreurs. La désactivation du _CRTDBG_ALLOC_MEM_DF champ de bits entraîne _CrtCheckMemory la non-vérification du tas et le retour TRUEimmédiat.

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

_ASSERTE( _CrtCheckMemory( ) );

Pour plus d’informations sur l’utilisation _CrtCheckMemory d’autres fonctions de débogage, consultez les fonctions de création de rapports d’état du tas. Pour obtenir une vue d’ensemble de la gestion de la mémoire et du tas de débogage, consultez les détails du tas de débogage CRT.

Spécifications

Routine En-tête requis
_CrtCheckMemory <crtdbg.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility.

Bibliothèques

Uniquement les versions de débogage des bibliothèques Runtime C.

Exemple

Pour obtenir un exemple d’utilisation _CrtCheckMemory, consultez crt_dbg1.

Voir aussi

Routines de débogage
_crtDbgFlag
_CrtSetDbgFlag