Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.