Compartilhar via


_CrtSetReportMode

Especifica o destino ou destinos para um tipo de relatório específico gerado por _CrtDbgReport e quaisquer macros que chamem _CrtDbgReport,_CrtDbgReportW ,_ASSERT como , _ASSERTE, _ASSERT_EXPR macros e _RPT, _RPTF, _RPTW, ( _RPTFW somente versão de depuração).

Sintaxe

int _CrtSetReportMode(
   int reportType,
   int reportMode
);

Parâmetros

reportType
Tipo de relatório: _CRT_WARN, _CRT_ERROR e _CRT_ASSERT.

reportMode
Novos modos de relatório para reportType.

Valor retornado

Após a conclusão bem-sucedida, _CrtSetReportMode retorna os modos de relatório anteriores para o tipo de relatório especificado em reportType. Se um valor inválido for passado como reportType ou um modo inválido for especificado para reportMode, _CrtSetReportMode invocará o manipulador de parâmetro inválido, conforme descrito em Validação de parâmetro. Se a execução tiver permissão para continuar, essa função definirá errno como EINVAL e retornará -1. Para obter mais informações, consulte errno, _doserrno, _sys_errlist e _sys_nerr.

Comentários

_CrtSetReportMode especifica o destino de saída para _CrtDbgReport. Como as macros _ASSERT, _ASSERTE, _RPT e _RPTF chamam _CrtDbgReport, _CrtSetReportMode especifica o destino de saída do texto especificado com essas macros.

Quando _DEBUG não está definido, as chamadas para _CrtSetReportMode são removidas durante o pré-processamento.

Se você não chamar _CrtSetReportMode para definir o destino de saída das mensagens, os seguintes padrões estarão em vigor:

  • Erros e falhas de declaração são direcionados para uma janela de mensagem de depuração.

  • Os avisos de aplicativos do Windows são enviados para a janela de saída do depurador.

  • Os avisos dos 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 (expressões declaradas que são avaliadas como FALSE).

A função _CrtSetReportMode atribui o novo modo de relatório especificado em reportMode ao tipo de relatório especificado em reportType e retorna o modo de relatório definido anteriormente 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 bits em Crtdbg.h.

Modo do relatório Comportamento de _CrtDbgReport
_CRTDBG_MODE_DEBUG Grava a mensagem na janela de saída do depurador.
_CRTDBG_MODE_FILE Grava a mensagem em um identificador de arquivo fornecido pelo usuário. _CrtSetReportFile deve ser chamada para definir o arquivo ou o fluxo específico a ser usado como o destino.
_CRTDBG_MODE_WNDW Cria uma caixa de mensagem para exibir a mensagem junto com os botões Parar, Repetir e Ignorar .
_CRTDBG_REPORT_MODE Retorna reportMode para o reportType especificado:

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. Portanto, é possível ter mais de um destino definido para um único tipo de relatório. Por exemplo, o seguinte fragmento de código faz com que as falhas de declaração sejam enviadas para uma janela de mensagem de depuração e para stderr:

_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );

Além disso, você pode controlar o modo ou modos de relatório para cada tipo de relatório separadamente. Por exemplo, é possível especificar que a reportType of vai para uma string de depuração de saída, while _CRT_ASSERT é exibido usando uma janela de mensagem de _CRT_WARN depuração e é enviado para stderr, conforme ilustrado anteriormente.

Requisitos

Rotina Cabeçalho necessário Cabeçalho opcional
_CrtSetReportMode <crtdbg.h> <errno.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Bibliotecas: depurar somente as versões das bibliotecas de runtime do C.

Confira também

Rotinas de depuração