_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 NULL
wartość , 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