Udostępnij za pośrednictwem


AfxCheckMemory

Funkcja ta sprawdza poprawność puli pamięci i drukuje komunikaty o błędach, zgodnie z wymaganiami.

BOOL AfxCheckMemory( );

Wartość zwracana

Niezerowa, jeśli żadne błędy pamięci; 0 inaczej.

Uwagi

Jeśli funkcja wykryje nie związanej z uszkodzeniem pamięci, drukuje nothing.

Zaznaczone wszystkich bloków pamięci aktualnie przydzielonych na stercie, łącznie z tymi przydzielone przez Nowy , ale nie te przydzielone przez bezpośrednie wywołania allocators pamięci podstawowej, takich jak malloc funkcji lub działanie funkcji GlobalAlloc funkcji systemu Windows.Jeżeli stwierdzono, że każdy blok ulec uszkodzeniu, wiadomość jest drukowana w danych wyjściowych debugera.

Jeśli uwzględnić wiersz

#define new DEBUG_NEW

w module programu, następnie wezwań do AfxCheckMemory Pokaż nazwę i numer wiersza, gdy przydzielono pamięć.

[!UWAGA]

Jeśli moduł zawiera jeden lub więcej implementacje klasy możliwy do serializacji, a następnie należy umieścić #define linii po ostatnim IMPLEMENT_SERIAL wywołania makra.

Ta funkcja działa tylko w wersji programu Debug MFC.

Przykład

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();

Wymagania

Nagłówek: afx.h

Zobacz też

Koncepcje

Makra MFC i Globals