_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.