AfxCheckMemory
Cette fonction valide le pool de mémoire disponible et affiche des messages d'erreur selon les besoins.
BOOL AfxCheckMemory( );
Valeur de retour
Une valeur différente de zéro si aucune erreur de mémoire ; sinon 0.
Notes
Si la fonction ne détecte aucune altération de la mémoire, elle n'imprime aucun effet.
Tous les blocs de mémoire actuellement alloués sur le tas sont activés, y compris ceux alloués par new mais pas ceux alloués par des appels directs aux allocateurs de mémoire sous-jacents, tels que la fonction malloc ou la fonction Windows GlobalAlloc. Si un bloc est endommagé, un message est imprimé à la sortie du débogueur.
Si vous incluez la ligne
#define new DEBUG_NEW
dans un module de programme, alors les appels suivants à AfxCheckMemory indiquent le nom et le numéro de ligne où la mémoire a été allouée.
Notes
Si votre module contient une ou plusieurs implémentations des classes sérialisables, alors vous devez mettre à jour la ligne #define après le dernier appel de macro IMPLEMENT_SERIAL.
Cette fonction ne fonctionne que dans la version de débogage de MFC.
Exemple
CAge* pcage = new CAge(21); // CAge is derived from CObject.
Age* page = new Age(22); // Age is NOT derived from CObject.
*(((char*)pcage) - 1) = 99; // Corrupt preceding guard byte
*(((char*)page) - 1) = 99; // Corrupt preceding guard byte
AfxCheckMemory();
Configuration requise
En-tête : afx.h