Compartilhar via


_CrtSetReportMode

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

int _CrtSetReportMode( 
   int reportType,
   int reportMode 
);

Parâmetros

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

  • reportMode
    Novo modo ou modos de relatório para reportType.

Valor de retorno

Na conclusão bem-sucedida, _CrtSetReportMode retorna o modo ou os modos anteriores do relatório para o tipo de relatório especificado em reportType. Se um valor inválido é passado como reportType ou um modo inválido for especificado para reportMode, _CrtSetReportMode invoca o manipulador inválido do parâmetro como descrito em Validação do parâmetro. Se a execução puder 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 macros _ASSERT, _ASSERTE, _RPT, e chame _CrtDbgReportde _RPTF , _CrtSetReportMode especificam o destino da saída do texto especificado com as macros.

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

Se você não _CrtSetReportMode chama para definir o destino da saída das mensagens, as opções a seguir são aplicadas:

  • As falhas de asserção e erros são redirecionados para uma janela de mensagem de depuração.

  • Os avisos dos aplicativos do Windows são enviados à janela saída do depurador.

  • Os avisos de aplicativos do console não são exibidos.

A tabela a seguir lista os tipos de relatório definidos em Crtdbg.h.

Tipo de relatório

Descrição

_CRT_WARN

Avisos, mensagens, e informações que não precisa da atenção imediata.

_CRT_ERROR

Erros, problemas irrecuperável, e problemas que exigem atenção imediata.

_CRT_ASSERT

Falhas de asserção permissões (expressões que avaliam a FALSE).

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

comportamento de _CrtDbgReport

_CRTDBG_MODE_DEBUG

Grava a mensagem à janela saída do depurador.

_CRTDBG_MODE_FILE

Grava a mensagem para um identificador de arquivo fornecido pelo usuário. _CrtSetReportFile deve ser chamado para definir o arquivo específico ou para passar para usar como o destino.

_CRTDBG_MODE_WNDW

Cria uma caixa de mensagem para exibir a mensagem junto com Abort, Retry, e os botões de Ignore .

_CRTDBG_REPORT_MODE

Retorna reportMode para reportTypeespecificado:

1   _CRTDBG_MODE_FILE

2   _CRTDBG_MODE_DEBUG

4   _CRTDBG_MODE_WNDW

Cada tipo de relatório pode ser relatado não usar um, dois ou três modos, ou nenhum modo de todo. Consequentemente, é possível ter mais de um destino definido para um único tipo de relatório. Por exemplo, o seguinte fragmento de código a seguir causa falhas de asserção ser enviado a 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 relatório ou os modos para cada tipo de relatório podem ser controlados separada. Por exemplo, é possível especificar que reportType de _CRT_WARN seja enviado a uma cadeia de caracteres de depuração de saída, quando _CRT_ASSERT é exibido usando uma janela da mensagem de depuração e enviado a stderr, como ilustrado anteriormente.

Requisitos

Rotina

Cabeçalho necessário

Cabeçalho opcional

_CrtSetReportMode

<crtdbg.h>

<errno.h>

Para obter mais informações sobre compatibilidade, consulte Compatibilidade na Introdução.

Bibliotecas: Somente as versões de depuração das Recursos da biblioteca CRT.

Equivalência do .NET Framework

Não aplicável. Para chamar a função padrão de C, use PInvoke. Para obter mais informações, consulte Exemplos de invocação de plataforma.

Consulte também

Referência

Rotinas de depuração