Udostępnij za pośrednictwem


_CrtDumpMemoryLeaks

Zrzuca całą pamięć blokuje w stercie debugowania podczas przeciek pamięci wystąpił (tylko wersja debugowania).

int _CrtDumpMemoryLeaks( void );

Wartość zwracana

_CrtDumpMemoryLeaksZwraca wartość TRUE, jeśli występuje przeciek pamięci.W przeciwnym razie funkcja zwraca wartość FALSE.

Uwagi

_CrtDumpMemoryLeaks Funkcja określa, czy przeciek pamięci ma miejsce od czasu rozpoczęcia wykonywania programu.W przypadku stwierdzenia przeciek informacji nagłówka debugowania dla wszystkich obiektów w stosie jest po cenach dumpingowych w formie możliwej do odczytania użytkownika.Gdy _DEBUG nie jest zdefiniowana, wzywa do _CrtDumpMemoryLeaks są usuwane podczas przetwarzania wstępnego.

_CrtDumpMemoryLeaksczęsto nazywa się pod koniec wykonywania programu, aby sprawdzić, czy cała pamięć przydzielona przez aplikację, która została zwolniona.Funkcja może zostać wywołana automatycznie na zakończenie programu włączając _CRTDBG_LEAK_CHECK_DF pole bitowe o _crtDbgFlag Flaga za pomocą _CrtSetDbgFlag funkcji.

_CrtDumpMemoryLeakswywołania _CrtMemCheckpoint celu uzyskania bieżącego stanu sterty, a następnie skanuje Państwo dla bloków, które nie zostały zwolnione.Po napotkaniu niezwolnionych bloku _CrtDumpMemoryLeaks wywołania _CrtMemDumpAllObjectsSince do zrzutu informacji dla wszystkich obiektów, które są przydzielane w stercie od rozpoczęcia wykonywania programu.

Domyślnie, wewnętrznych bloków wykonywania C (_CRT_BLOCK) nie są objęte operacje zrzutu pamięci._CrtSetDbgFlag funkcja może służyć do włączyć _CRTDBG_CHECK_CRT_DF trochę _crtDbgFlag do uwzględnienia tych bloków w proces wykrywania przecieków.

Aby uzyskać więcej informacji o funkcjach stanu sterty i strukturze _CrtMemState, zobacz Funkcje raportowania stanu sterty.Aby uzyskać więcej informacji na temat sposobu, w jaki bloki pamięci są przydzielane, inicjowane i zarządzane w wersji debugowania podstawowej sterty, zobacz Szczegóły dotyczące stosu debugowania CRT.

Wymagania

Procedura

Wymagany nagłówek

_CrtDumpMemoryLeaks

<crtdbg.h>

Aby uzyskać więcej informacji na temat zgodności, zobacz Zgodność we Wstępie.

Biblioteki

Debuguj wersje wyłącznie Bibliotek uruchomieniowych C.

Przykład

Przykładowy sposobów użycia _CrtDumpMemoryLeaks, zobacz crt_dbg1.

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywołać standardową funkcję C, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywoływania platformy.

Zobacz też

Informacje

Procedury debugowania