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


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

Обновлен: Ноябрь 2007

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

Выпуск

Visual Basic

C#

C++

Web Developer

Экспресс-выпуск

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

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

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

Standard

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

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

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

Pro и Team

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

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

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

Обозначения:

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

Применяется

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

Неприменимо

Тема применяется, но команда по умолчанию сокрыта

Команда или команды скрытые по умолчанию.

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

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

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