_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.