_RPT _RPTF, _RPTW, _RPTFW macros

Controla o progresso de um aplicativo gerando um relatório de depurar (somente versão de depurar).Observe que n Especifica o número de argumentos em args e pode ser 0, 1, 2, 3, 4 ou 5.

_RPTn(
      reportType,
      format,
...[args]
);
_RPTFn(
      reportType,
      format,
   [args]
);
_RPTWn(
      reportType,
      format 
   [args]
);
_RPTFWn(
      reportType,
      format 
   [args]
);

Parâmetros

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

  • formato
    Seqüência de caracteres de controle de formato usada para criar a mensagem do usuário.

  • args
    Substituição de argumentos usados pela formato.

Comentários

Todas essas macros levar o reportType and formato parâmetros.Além disso, eles também podem levar até quatro argumentos adicionais, representados pelo número anexado ao nome da macro.Por exemplo, _RPT0 e _RPTF0 não assumir nenhum argumento adicional, _RPT1 e _RPTF1 take arg1, _RPT2 e _RPTF2 take arg1 e arg2, e assim por diante.

The _RPT and _RPTF são semelhantes ao macrosprintf funcionar, pois eles podem ser usados para controlar o andamento de um aplicativo durante o processo de depuração.No entanto, essas macros são mais flexíveis que printf porque eles não precisam ser colocados entre # ifdef instruções para impedir que está sendo chamado em uma compilação para venda de um aplicativo.Essa flexibilidade é atingida usando a _DEBUG macro; o _RPT and _RPTF macros só estão disponível quando o _DEBUG sinalizar é definido.Quando _DEBUG não estiver definido, chamadas para essas macros são removidas durante o pré-processamento.

The _RPTW and _RPTFW são novas no macrosVisual C++ 2005 e são versões de caractere largo dessas macros. Eles são sistema autônomo wprintf e seqüências de caractere largos sistema autônomo argumentos.

The _RPT macros telefonar o _CrtDbgReportfunção para gerar um relatório de depurar com uma mensagem do usuário.The _RPTW macros chamar o _CrtDbgReportWfunção para gerar o mesmo relatório com caracteres largos.The _RPTF and _RPTFW macros criar um relatório de depurar com número de linha e de arquivo de fonte onde a macro de relatório foi chamada, além da mensagem do usuário.The user message is created by substituting the arg[n] arguments into the format string, using the same rules defined by the printf function.

_CrtDbgReport ou _CrtDbgReportW gera o relatório de depurar e determina seus destinos com base nos modos de relatório corrente e o arquivo definido para reportType. The _CrtSetReportMode and _CrtSetReportFile funções são usadas para definir os destinos para cada tipo de relatório.

Se um _RPT macro é chamada e nenhuma _CrtSetReportMode nem _CrtSetReportFile foi chamado, sistema autônomo mensagens são exibidas da seguinte maneira.

Tipo de relatório

Destino de saída

_CRT_WARN

Texto de aviso não é exibido.

_CRT_ERROR

Uma janela pop-up.Mesmo sistema autônomo se _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); tivesse sido especificado.

_CRT_ASSERT

Igual a _CRT_ERROR.

Quando o destino é uma janela de mensagem de depurar e o usuário escolhe o Tente novamente botão, _CrtDbgReport ou _CrtDbgReportW retorna 1, fazendo com que essas macros iniciar o depurador, desde que a depurar do just-in-time (JIT) está habilitada.Para obter mais informações sobre sistema autônomo usar essas macros sistema autônomo um mecanismo de tratamento de erro de depuração, consulte Usando macros para verificação e emissão de relatórios.

Dois Outros existem macros que gerar um relatório de depurar.The _ASSERT macro gera um relatório, mas somente quando o argumento expressão for avaliada como falso._ASSERTE é exatamente igual a _ASSERT, mas inclui a expressão com falha no relatório gerado.

Requisitos

Macro

Cabeçalho necessário

_RPT macros

<crtdbg.h>

_RPTF macros

<crtdbg.h>

_RPTW macros

<crtdbg.h>

_RPTFW macros

<crtdbg.h>

Para obter mais informações de compatibilidade, consulte Compatibilidade na introdução.

Bibliotecas

Versões de depurar de Bibliotecas de time de execução c somente.

Embora essas macros são e são obtidas, incluindo Crtdbg.h, o aplicativo deve vincular com uma das bibliotecas de depurar porque essas macros chamam outras funções de time de execução.

Exemplo

Consulte o exemplo no _ASSERT tópico.

Equivalente do NET Framework

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

Consulte também

Referência

Rotinas de depurar