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


_CrtDbgReport, _CrtDbgReportW

Создает отчет с сообщением отладки и отправляет отчет до 3 возможных назначения (отладочные версии).

int _CrtDbgReport( 
   int reportType,
   const char *filename,
   int linenumber,
   const char *moduleName,
   const char *format [,
   argument] ... 
);
int _CrtDbgReportW( 
   int reportType,
   const wchar_t *filename,
   int linenumber,
   const wchar_t *moduleName,
   const wchar_t *format [,
   argument] ... 
);

Параметры

  • reportType
    Тип отчета: _CRT_WARN" _CRT_ERRORи_CRT_ASSERT.

  • filename
    Указатель на имя исходного файла, в котором произошел или assert и отчет NULL.

  • linenumber
    Номер линии в исходном файле, где проводился или assert и отчет NULL.

  • moduleName
    Указатель на имя модуля (.exe или .dll), где произошел assert и отчет.

  • format
    Строка формат-элемента управления указателя, используемая для создания сообщения пользователя.

  • argument
    Необязательные аргументы подстановки, используемые by format.

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

Для любых целей отчета _CrtDbgReport и _CrtDbgReportW return - 1, если происходит ошибка и 0, если ошибки не обнаружены.Однако если цель отчета окно сообщения отладки и щелкните пользователь Retry кнопка равен 1. этих функций.Если пользователь щелкнет Abort кнопка в окне сообщения отладки, эти функции немедленно прерывает работу и не возвращает значение.

_RPT, _RPTF отладка вызова макросов _CrtDbgReport для создания их отладка отчетов.Версия расширенных символов этих макросов, а также _ASSERT [E]" _RPTWn и _RPTFWnиспользование _CrtDbgReportW для создания их отладка отчетов.После _CrtDbgReport OR _CrtDbgReportW return 1 эти макросы запустите отладчик, при условии, что по требованию (JIT) отладка включена.

Заметки

_CrtDbgReport и _CrtDbgReportW может отправить отчет об отладке до 3 разных целей. файл отчета отладки, монитор отладки ( Visual Studio отладчик) или окно сообщения отладки.Функции конфигурации, 2 _CrtSetReportMode и _CrtSetReportFileиспользуется для указания назначения или назначении для каждого типа отчета.Эти функции позволяют назначение или назначения отчетов для каждого типа отчета отдельно для отслеживания.Например, можно указать, что значение a reportType_CRT_WARN отправьте только к монитору отладки, пока a reportType_CRT_ASSERT отправьте в окно сообщения отладки и определяемые пользователем файл отчета.

_CrtDbgReportW версия расширенных символов _CrtDbgReport.Все свои выходные параметры и строки в характерных чертах; в противном случае он аналогичен версии символов единый-байта.

_CrtDbgReport и _CrtDbgReportW создайте сообщение пользователя для отчета об отладке путем подстановки argument[nаргументы в] format строка, используя те же правила, определенные printf OR wprintf функции.Эти функции затем формируется отчет об отладке и указывают назначение или назначения на основании текущих условиях и в файле указанного для отчета reportType.Если отчет отправляется в окне сообщения отладки filename" lineNumberи moduleName включите в сведения, отображаемом в окне.

В следующей таблице перечислены доступные варианты для режима отчета или режимов и файла и результирующая расширения функциональности _CrtDbgReport и _CrtDbgReportW.Эти параметры указываются как битов пометит в Crtdbg.h.

Режим отчета

Файл отчета

_CrtDbgReport" _CrtDbgReportW реакция на событие

_CRTDBG_MODE_DEBUG

Неприменимо

Записывает сообщение к окнам OutputDebugString API.

_CRTDBG_MODE_WNDW

Неприменимо

Окна вызовов MessageBox API для создания окна сообщений для отображения сообщений, а также Abort" Retryи Ignore кнопки.Если пользователь щелкнет Abort" _CrtDbgReport OR _CrtDbgReport немедленно прерывается.Если пользователь щелкнет Retryвозвращается значение 1.Если пользователь щелкнет Ignoreвыполнение продолжается и _CrtDbgReport и _CrtDbgReportW return 0.Обратите внимание, что щелкнуть Ignore если условие ошибки, существует часто результаты в "неопределили расширения функциональности".

_CRTDBG_MODE_FILE

__HFILE

Записывает сообщение в пользователь-поставлено HANDLEиспользование окна WriteFile API и не проверяет допустимость дескриптора файла; приложение отвечает за открытие файла отчета и передаче допустимый дескриптор файла.

_CRTDBG_MODE_FILE

_CRTDBG_FILE_STDERR

Записывает сообщение в stderr.

_CRTDBG_MODE_FILE

_CRTDBG_FILE_STDOUT

Записывает сообщение в stdout.

Отчет можно отправлять только одна, 2 или 3 назначения или в назначении. нетДополнительные сведения об указании режима отчета или режимы и файл отчета см. в разделе _CrtSetReportMode и _CrtSetReportFile функции.Дополнительные сведения об использовании макросов отладке и функции создания отчетов, см. в разделе С помощью макросов для проверки и отчетности.

Если приложение требует большей гибкости, чем предоставленный by _CrtDbgReport и _CrtDbgReportWможно написать собственные функции и обработчик отчетов в механизм отчетов с помощью библиотеки времени выполнения c _CrtSetReportHook функция.

Требования

Процедура

Обязательный заголовок

_CrtDbgReport

<crtdbg.h>

_CrtDbgReportW

<crtdbg.h>

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

Библиотеки

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

Пример

// crt_crtdbgreport.c
#include <crtdbg.h>

int main() {
#ifdef _DEBUG
   CrtDbgReport(_CRT_ASSERT, NULL, NULL, "some module", NULL);
#endif
}

См. crt_dbg2 пример функции изменение отчета.

Эквивалент в .NET Framework

См. также

Ссылки

Подпрограммы отладка

_CrtSetReportMode

_CrtSetReportFile

printf, _printf_l, wprintf, _wprintf_l

_DEBUG