Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Указывает назначение или назначение для определенного типа отчета, созданного _CrtDbgReport и любыми макросами, вызывающими _CrtDbgReport, _CrtDbgReportWнапример _ASSERT_EXPR _ASSERTE_ASSERT, макросами и _RPT, _RPTW_RPTF_RPTFW макросами (только для отладки).
Синтаксис
int _CrtSetReportMode(
int reportType,
int reportMode
);
Параметры
reportType
Тип отчета: _CRT_WARN, _CRT_ERROR и _CRT_ASSERT.
reportMode
Новый режим или режимы отчетов для reportType.
Возвращаемое значение
При успешном завершении функция _CrtSetReportMode возвращает предыдущий режим или режимы отчетов для типа отчета, указанного в параметре reportType. Если недопустимое значение передается в качестве reportType или недопустимом режиме, reportMode_CrtSetReportMode вызывает обработчик недопустимых параметров, как описано в разделе проверки параметров. Если продолжение выполнения разрешено, эта функции задает для errno значение EINVAL и возвращает -1. Дополнительные сведения см. в разделе errno, _doserrno, _sys_errlist, и _sys_nerr.
Замечания
Функция _CrtSetReportMode определяет место назначения вывода для функции _CrtDbgReport. Поскольку макросы _ASSERT, _ASSERTE, _RPT и _RPTF вызывают функцию _CrtDbgReport, функция _CrtSetReportMode определяет место назначения вывода текста, определенного этими макросами.
Если _DEBUG это не определено, вызовы _CrtSetReportMode удаляются во время предварительной обработки.
Если вы не вызываете _CrtSetReportMode определение назначения выходных данных сообщений, то в силу применяются следующие значения по умолчанию:
Ошибки и сбои проверочного утверждения направляются в окно сообщений отладчика.
Предупреждения из Windows-приложений направляются в окно вывода отладчика.
Предупреждения от консольных приложений не отображаются.
В следующей таблице перечислены типы отчетов, определенные в Crtdbg.h.
| Тип отчета | Description |
|---|---|
_CRT_WARN |
Предупреждения, сообщения и сведения, которые не требуют немедленного внимания. |
_CRT_ERROR |
Ошибки, неустранимые проблемы и ситуации, которые требуют немедленного внимания. |
_CRT_ASSERT |
Сбои проверочного утверждения (выражения, вычисление которых дает значение FALSE). |
Функция _CrtSetReportMode присваивает новый режим отчета, указанный в параметре reportMode, типу отчета, указанному в параметре reportType, и возвращает ранее определенный режим отчета для reportType. В следующей таблице приведен список доступных вариантов для параметра reportMode и соответствующее поведение функции _CrtDbgReport. Эти параметры задаются в виде битовых флагов в файле Crtdbg.h.
| Режим отчета | Поведение функции _CrtDbgReport |
|---|---|
_CRTDBG_MODE_DEBUG |
Выводит сообщение в окно вывода отладчика. |
_CRTDBG_MODE_FILE |
Выводит сообщение в предоставленный пользователем дескриптор файла. _CrtSetReportFile необходимо вызвать, чтобы определить конкретный файл или поток, используемый в качестве назначения. |
_CRTDBG_MODE_WNDW |
Создает окно сообщения для отображения сообщения вместе с кнопками "Прерывание", "Повтор" и "Игнорировать ". |
_CRTDBG_REPORT_MODE |
Возвращает reportMode для заданного reportType:1 _CRTDBG_MODE_FILE2 — . 4 — . |
Каждый тип отчета может создаваться с использованием одного, двух или трех режимов или вообще без режима. Таким образом, можно определить несколько назначений для одного типа отчета. Например, в следующем фрагменте кода сообщения о сбоях проверочного утверждения отправляются как в окно сообщений отладчика, так и в поток stderr:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Кроме того, можно управлять режимом отчетов или режимами для каждого типа отчета отдельно. Например, можно указать, что объект reportType _CRT_WARN переходит в выходную строку отладки, в то время как _CRT_ASSERT отображается с помощью окна сообщения отладки и отправляется stderrв , как показано ранее.
Требования
| Маршрут | Обязательный заголовок | Необязательный заголовок |
|---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Библиотеки: отладка версий только библиотек среды выполнения C.