Udostępnij za pośrednictwem


_CrtDumpMemoryLeaks

Zrzuty wszystkich bloków pamięci w stercie debugowania po wystąpieniu przecieku pamięci (tylko wersja debugowania).

Składnia


int _CrtDumpMemoryLeaks( void );

Wartość zwracana

_CrtDumpMemoryLeaks Zwraca wartość TRUE , jeśli zostanie znaleziony przeciek pamięci. W przeciwnym razie funkcja zwraca FALSEwartość .

Uwagi

Funkcja _CrtDumpMemoryLeaks określa, czy od początku wykonywania programu wystąpił wyciek pamięci. Po znalezieniu wycieku informacje nagłówka debugowania dla wszystkich obiektów w stercie są po cenach dumpingowych w postaci czytelnej dla użytkownika. Gdy _DEBUG nie jest zdefiniowana, wywołania do _CrtDumpMemoryLeaks są usuwane podczas przetwarzania wstępnego.

_CrtDumpMemoryLeaks Program jest często wywoływany na końcu wykonywania programu, aby sprawdzić, czy wszystkie pamięci przydzielone przez aplikację zostały zwolnione. Funkcja może być wywoływana automatycznie po zakończeniu programu, włączając _CRTDBG_LEAK_CHECK_DF pole bitowe _crtDbgFlag flagi _CrtSetDbgFlag przy użyciu funkcji .

_CrtDumpMemoryLeaks wywołuje _CrtMemCheckpoint polecenie w celu uzyskania bieżącego stanu sterty, a następnie skanuje stan bloków, które nie zostały uwolnione. Gdy napotkano niezapłacony blok, _CrtDumpMemoryLeaks wywołania _CrtMemDumpAllObjectsSince funkcji zrzutu informacji dla wszystkich obiektów przydzielonych w stercie od początku wykonywania programu.

Domyślnie wewnętrzne bloki czasu wykonywania języka C (_CRT_BLOCK) nie są uwzględniane w operacjach zrzutu pamięci. Funkcja _CrtSetDbgFlag może służyć do włączania _CRTDBG_CHECK_CRT_DF bitu _crtDbgFlag w celu uwzględnienia tych bloków w procesie wykrywania przecieków.

Aby uzyskać więcej informacji na temat funkcji stanu sterta i _CrtMemState struktury, zobacz Funkcje raportowania stanu stert. Aby uzyskać więcej informacji na temat przydzielania, inicjowania i zarządzania blokami pamięci w wersji debugowania sterty podstawowej, zobacz szczegóły sterty debugowania CRT.

Wymagania

Procedura Wymagany nagłówek
_CrtDumpMemoryLeaks <crtdbg.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Biblioteki

Debugowanie tylko wersji bibliotek czasu wykonywania języka C.

Przykład

Aby zapoznać się z przykładem korzystania z programu _CrtDumpMemoryLeaks, zobacz crt_dbg1.

Zobacz też

Procedury debugowania