Udostępnij za pośrednictwem


_CrtDoForAllClientObjects

Wywołuje funkcję dostarczaną przez aplikację dla wszystkich _CLIENT_BLOCK typów w stercie (tylko wersja debugowania).

Składnia

void _CrtDoForAllClientObjects(
   void ( * pfn )( void *, void * ),
   void *context
);

Parametry

pfn
Wskaźnik do funkcji wywołania zwrotnego funkcji dostarczonej przez aplikację. Pierwszy parametr tej funkcji wskazuje dane. Drugi parametr to wskaźnik kontekstu przekazywany do wywołania metody _CrtDoForAllClientObjects.

context
Wskaźnik do kontekstu dostarczonego przez aplikację w celu przekazania do funkcji dostarczonej przez aplikację.

Uwagi

Funkcja _CrtDoForAllClientObjects wyszukuje połączoną listę sterty dla bloków pamięci o typie _CLIENT_BLOCK i wywołuje funkcję dostarczoną przez aplikację po znalezieniu bloku tego typu. Znaleziony blok i context parametr są przekazywane jako argumenty do funkcji dostarczonej przez aplikację. Podczas debugowania aplikacja może śledzić określoną grupę alokacji, jawnie wywołując funkcje sterty debugowania w celu przydzielenia pamięci i określając, że bloki mają być przypisane do _CLIENT_BLOCK typu bloku. Te bloki można następnie śledzić oddzielnie i zgłaszać inaczej podczas wykrywania wycieków i raportowania stanu pamięci.

_CRTDBG_ALLOC_MEM_DF Jeśli pole bitowe flagi _crtDbgFlag nie jest włączone, _CrtDoForAllClientObjects natychmiast zwraca wartość . Gdy _DEBUG nie jest zdefiniowana, wywołania do _CrtDoForAllClientObjects są usuwane podczas przetwarzania wstępnego.

Aby uzyskać więcej informacji o typie _CLIENT_BLOCK i sposobie jego użycia przez inne funkcje debugowania, zobacz Typy bloków na stercie debugowania. Aby uzyskać informacje na temat przydzielania, inicjowania i zarządzania blokami pamięci w wersji debugowania sterty podstawowej, zobacz szczegóły sterty debugowania CRT.

Jeśli pfn parametr ma NULLwartość , wywoływana jest nieprawidłowa procedura obsługi parametrów, zgodnie z opisem w temacie Weryfikacja parametrów. Jeśli wykonywanie jest dozwolone do kontynuowania, errno, , _sys_errlist_doserrno, i jest ustawiona na EINVAL , a _sys_nerr funkcja zwraca.

Wymagania

Procedura Wymagany nagłówek
_CrtDoForAllClientObjects <crtdbg.h>, <errno.h>

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

Biblioteki: debugowanie tylko wersji uniwersalnych bibliotek czasu wykonywania języka C.

Zobacz też

Procedury debugowania
_CrtSetDbgFlag
Funkcje raportowania stanu stert
_CrtReportBlockType