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


Функции-ловушки клиентского блока

Если нужно проверить или вывести данные, хранящиеся в блоках типа _CLIENT_BLOCK, можно написать для этого специальную функцию. Эта функция должна иметь прототип наподобие следующего, определенного в CRTDBG.H:

void YourClientDump(void *, size_t)

Другими словами, функция-ловушка должна принимать указатель типа void на начало блока выделения и значение типа size_t, показывающее размер выделения, и возвращать тип void. Все остальное задается по желанию.

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

Указатель на функцию, который передается _CrtSetDumpClient, имеет тип _CRT_DUMP_CLIENT, как определено в CRTDBG.H:

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

См. также

Ссылки

_CrtReportBlockType

Другие ресурсы

Написание функций отладочных ловушек

crt_dbg2 Sample