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


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

Этот раздел применим к:

Выпуск

Visual Basic

C#

F#

C++

Web Developer

Express

Тема не применяется Тема не применяется Тема не применяется

Только машинные коды

Тема не применяется

Pro, Premium и Ultimate

Тема не применяется Тема не применяется Тема не применяется

Только машинные коды

Тема не применяется

Если нужно проверить или вывести данные, хранящиеся в блоках типа _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);

См. также

Задачи

Образец crt_dbg2: отладочные функции-ловушки для среды выполнения C

Ссылки

_CrtReportBlockType

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

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