Поделиться через


_CrtSetDumpClient

Устанавливает определяемую приложением функцию для записи в дамп блоков памяти типа _CLIENT_BLOCK (только в отладочной версии).

Синтаксис

_CRT_DUMP_CLIENT _CrtSetDumpClient( _CRT_DUMP_CLIENT dumpClient );

Параметры

dumpClient
Новая функция дампа памяти, определяемая клиентом, для перехватчика.

Возвращаемое значение

Возвращает определенную ранее функцию дампа клиентских блоков.

Замечания

Функция _CrtSetDumpClient позволяет приложению перехватить собственную функцию для дампа объектов, хранящихся в _CLIENT_BLOCK блоках памяти. В результате каждый раз, когда функция дампа отладки, например _CrtMemDumpAllObjectsSince или _CrtDumpMemoryLeaks дамп _CLIENT_BLOCK блока памяти, также вызывается функция дампа приложения. _CrtSetDumpClient предоставляет приложению простой способ для обнаружения утечек памяти и проверки содержимого данных, хранящихся в блоках _CLIENT_BLOCK, либо создания связанных с ними отчетов. Если _DEBUG это не определено, вызовы _CrtSetDumpClient удаляются во время предварительной обработки.

Функция _CrtSetDumpClient устанавливает новую определенную приложением функцию дампа, указанную в параметре dumpClient, и возвращает функцию дампа, определенную ранее. Пример функции дампа клиентского блока выглядит следующим образом:

void DumpClientFunction( void *userPortion, size_t blockSize );

Аргумент userPortion представляет собой указатель на начало части пользовательских данных в блоке памяти, а blockSize определяет объем выделяемого блока памяти в байтах. Функция дампа клиентского блока памяти должна возвращать значение void. Указатель на функцию, который передается _CrtSetDumpClient, имеет тип _CRT_DUMP_CLIENT, как определено в Crtdbg.h:

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

Дополнительные сведения о функциях, работающих с блоками памяти типа, см. в _CLIENT_BLOCK разделе "Функции перехватчика блоков клиента". Функцию _CrtReportBlockType можно использовать для возврата сведений о типах блоков и подтипах.

Требования

Маршрут Обязательный заголовок
_CrtSetDumpClient <crtdbg.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Библиотеки

Только отладочные версии библиотек времени выполнения языка C.

См. также

Отладка подпрограмм
_CrtReportBlockType
_CrtGetDumpClient