CrtSetReportMode
Especifica o destino ou destinos para um tipo específico de relatório gerado pelo _CrtDbgReport e macros que chamam _CrtDbgReport, CrtDbgReportW, como _ASSERT, _ASSERTE macros, _ASSERT, _ASSERTE macros, _RPT, _RPTF, _RPTW, _RPTFW macros, e _RPT, _RPTF, _RPTW, _RPTFW macros (somente a versão de depuração).
int _CrtSetReportMode(
int reportType,
int reportMode
);
Parâmetros
reportType
Report type: _CRT_WARN, _CRT_ERROR, and _CRT_ASSERT.reportMode
Novo modo de relatório ou modos de reportType.
Valor de retorno
Após a conclusão bem-sucedida, _CrtSetReportMode retorna o modo de relatório anterior ou modos para o tipo de relatório especificado em reportType.Se um valor inválido for passado como reportType ou um modo inválido é especificado para reportMode, _CrtSetReportMode chama o manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro.Se a execução terá permissão para continuar, essa função define errno para EINVAL e retorna -1.Para obter mais informações, consulte errno, _doserrno, _sys_errlist e _sys_nerr.
Comentários
_CrtSetReportModeEspecifica o destino de saída para _CrtDbgReport.Porque as macros _ASSERT, _ASSERTE, _RPT, e _RPTF chamar _CrtDbgReport, _CrtSetReportMode Especifica o destino de saída do texto especificado com essas macros.
Quando DEBUG não está definido, planos de _CrtSetReportMode são removidos durante o pré-processamento.
Se você chamar _CrtSetReportMode para definir o destino de saída das mensagens, em seguida, os seguintes padrões estão em vigor:
Erros e falhas de declaração são direcionados para uma janela de mensagem de depuração.
Avisos de aplicativos do Windows são enviados para a janela de saída do depurador.
Avisos de aplicativos de console não são exibidos.
A tabela a seguir lista os tipos de relatório definidos no Crtdbg.h.
Tipo de relatório |
Descrição |
---|---|
_CRT_WARN |
Avisos, mensagens e informações que não precisam de atenção imediata. |
_CRT_ERROR |
Erros, problemas irrecuperáveis e problemas que exigem atenção imediata. |
_CRT_ASSERT |
Falhas de declaração (afirmado expressões que são avaliados como FALSE). |
O _CrtSetReportMode função atribui o novo modo de relatório especificado em reportMode para o tipo de relatório especificado em reportType e retorna o modo relatório previamente definido para reportType.A tabela a seguir lista as opções disponíveis para reportMode e o comportamento resultante de _CrtDbgReport.Essas opções são definidas como sinalizadores de bit em Crtdbg.h.
Modo relatório |
Comportamento de _CrtDbgReport |
---|---|
_CRTDBG_MODE_DEBUG |
Grava a mensagem em janela de saída do depurador. |
_CRTDBG_MODE_FILE |
Grava a mensagem de um identificador de arquivo fornecido pelo usuário._CrtSetReportFiledeve ser chamado para definir o arquivo específico ou fluxo para usar como destino. |
_CRTDBG_MODE_WNDW |
Cria uma caixa de mensagem para exibir a mensagem junto com o Abort, Retry, e Ignore botões. |
_CRTDBG_REPORT_MODE |
Retorna reportMode especificado reportType: 1 _CRTDBG_MODE_FILE 2 _CRTDBG_MODE_DEBUG 4 _CRTDBG_MODE_WNDW |
Cada tipo de relatório pode ser relatado usando um, dois ou três modos ou nenhum modo de todo.Portanto, é possível ter mais de um destino definido para um tipo de relatório único.Por exemplo, o fragmento de código a seguir causa falhas de declaração a ser enviado para ambos os uma janela de mensagem de depuração e a stderr:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Além disso, o modo de geração de relatórios ou modos para cada tipo de relatório podem ser separadamente controlados.Por exemplo, é possível especificar que uma reportType de _CRT_WARN ser enviado para uma seqüência de caracteres de depuração de saída, enquanto _CRT_ASSERT ser exibido usando uma janela de mensagem de depuração e enviada para stderr, ilustradas como anteriormente.
Requisitos
Rotina |
Cabeçalho necessário |
Cabeçalho opcional |
---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.
Bibliotecas: versões de depuração de Recursos da biblioteca CRT somente.
Exemplo
Consulte report.
Equivalência do .NET Framework
Não aplicável. Para chamar a função c padrão, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.