Udostępnij za pośrednictwem


_CrtSetDumpClient

Instaluje funkcję zdefiniowaną przez aplikację w celu zrzutu _CLIENT_BLOCK bloków pamięci typu zrzutu (tylko wersja debugowania).

Składnia

_CRT_DUMP_CLIENT _CrtSetDumpClient( _CRT_DUMP_CLIENT dumpClient );

Parametry

dumpClient
Nowa funkcja zrzutu pamięci zdefiniowanej przez klienta do przypinania.

Wartość zwracana

Zwraca wcześniej zdefiniowaną funkcję zrzutu bloku klienta.

Uwagi

Funkcja _CrtSetDumpClient umożliwia aplikacji łączenie własnych funkcji w celu zrzutu obiektów przechowywanych w _CLIENT_BLOCK blokach pamięci. W rezultacie za każdym razem, gdy funkcja zrzutu debugowania, taka jak _CrtMemDumpAllObjectsSince lub _CrtDumpMemoryLeaks zrzuty _CLIENT_BLOCK bloku pamięci, funkcja zrzutu aplikacji jest również wywoływana. _CrtSetDumpClient Udostępnia aplikację łatwą metodą wykrywania przecieków pamięci i weryfikowania lub raportowania zawartości danych przechowywanych w _CLIENT_BLOCK blokach. Gdy _DEBUG nie jest zdefiniowana, wywołania do _CrtSetDumpClient są usuwane podczas przetwarzania wstępnego.

Funkcja _CrtSetDumpClient instaluje nową funkcję zrzutu zdefiniowanego przez aplikację określoną w pliku dumpClient i zwraca wcześniej zdefiniowaną funkcję zrzutu. Przykładem funkcji zrzutu bloku klienta jest następująca:

void DumpClientFunction( void *userPortion, size_t blockSize );

Argument userPortion jest wskaźnikiem do początku części danych użytkownika bloku pamięci i blockSize określa rozmiar przydzielonego bloku pamięci w bajtach. Funkcja zrzutu bloku klienta musi zwrócić wartość void. Wskaźnik do funkcji zrzutu klienta, _CrtSetDumpClient która jest przekazywana, jest typu _CRT_DUMP_CLIENT, zgodnie z definicją w pliku Crtdbg.h:

typedef void (__cdecl *_CRT_DUMP_CLIENT)( void *, size_t );

Aby uzyskać więcej informacji na temat funkcji działających na _CLIENT_BLOCK blokach pamięci typu, zobacz Funkcje punktów zaczepienia bloków klienta. Funkcja _CrtReportBlockType może służyć do zwracania informacji o typach bloków i podtypach.

Wymagania

Procedura Wymagany nagłówek
_CrtSetDumpClient <crtdbg.h>

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

Biblioteki

Debugowanie tylko wersji bibliotek czasu wykonywania języka C.

Zobacz też

Procedury debugowania
_CrtReportBlockType
_CrtGetDumpClient