_CrtSetReportHook

 

Самая актуальная документация по Visual Studio 2017: Документация по Visual Studio 2017.

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

_CRT_REPORT_HOOK _CrtSetReportHook(   
   _CRT_REPORT_HOOK reportHook   
);  

Параметры

reportHook
Новая определяемая клиентом функция отчетов, которую необходимо прикрепить к процессу создания отчетов среды выполнения языка C.

Возвращает предыдущую определяемую клиентом функцию отчетов.

_CrtSetReportHook позволяет приложению использовать собственную функцию отчетов в процессе создания отчетов отладочной библиотеки времени выполнения языка C. В результате всякий раз, когда _CrtDbgReport вызывается для создания отчета отладки отчетов приложения сначала вызывается функция. Эта функциональность позволяет приложению выполнять такие операции, как фильтрация отчетов отладки, чтобы сосредоточиться на выделениях памяти конкретного типа или отправлять отчет в пункты назначения, которые недоступны при использовании _CrtDbgReport. Когда _DEBUG не определен, вызовы _CrtSetReportHook удаляются во время предварительной обработки.

Для более надежная версия _CrtSetReportHook, в разделе _CrtSetReportHook2.

Функция _CrtSetReportHook устанавливает новую определяемую клиентом функцию отчетов, указанную в параметре reportHook, и возвращает предыдущую определенную клиентом функцию-обработчик. В следующем примере показано, как должен быть объявлен прототип определяемого клиентом обработчика отчетов:

int YourReportHook( int reportType, char *message, int *returnValue );  

где reportType — тип отчета отладки (_CRT_WARN, _CRT_ERROR или _CRT_ASSERT), message — полностью собранное пользовательское отладочное сообщение, которое будет содержаться в отчете, и returnValue — значение, указанное определяемой клиентом функцией отчетов, которое должно возвращаться функцией _CrtDbgReport. Описание доступных типов отчетов см. в разделе _CrtSetReportMode функции.

Если определяемая клиентом функция отчетов полностью обрабатывает сообщение отладки и дальнейшая выдача отчета не требуется, функция должна возвращать значение TRUE. Если функция возвращает значение FALSE, для создания отчета отладки с использованием текущих параметров типа, режима и файла отчета вызывается функция _CrtDbgReport. Кроме того, указав возвращаемое значение функции _CrtDbgReport в параметре returnValue, приложение может контролировать, происходит ли прерывание при отладке. Полное описание способа настройки и создания отчета об отладке см. в разделе _CrtSetReportMode, _CrtSetReportFile, и _CrtDbgReport.

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

System_CAPS_ICON_note.jpg Примечание

Если приложение компилировано с параметром /clr и функция отчетов вызывается после того, как приложение выходит из функции main, среда CLR вызывает исключение, если функция отчетов вызывает какие-либо функции CRT.

ПодпрограммаОбязательный заголовок
_CrtSetReportHook<crtdbg.h>

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

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

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызова неуправляемого кода.

Процедуры отладки
_CrtGetReportHook

Показ: