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

Różna od zera, jeśli nie ma błędów pamięci; inny sposób 0.

Uwagi

Jeśli funkcja pomiaru prędkości wykrywa nie uszkodzenie pamięci, drukuje nic.

Wszystkie bloki pamięci aktualnie przydzielono na stercie są sprawdzane, łącznie z tymi przydzielony przez Nowy , ale nie tych przydzielonych przez bezpośrednich połączeń telefonicznych do podstawowej selektory pamięci, takich jak malloc funkcji lub GlobalAlloc funkcji systemu Windows.Jeśli bloku znajduje się uszkodzony, wiadomość jest drukowana danych wyjściowych debugera.

Czy uwzględnić wiersz

#define new DEBUG_NEW

w module programu, następnie kolejne wywołania AfxCheckMemory Pokaż numer wiersza i nazwa pliku, gdzie została przydzielona pamięć.

[!UWAGA]

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

Ta funkcja działa tylko w wersji debugowej biblioteki 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 i funkcje globalne MFC