Compartilhar via


_RPT, _RPTF, _RPTW, _RPTFW macros

Controla o andamento de um aplicativo gerando um relatório de depuração (somente a versão de depuração).Observe que n Especifica o número de argumentos na 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
    Report type: _CRT_WARN, _CRT_ERROR, or _CRT_ASSERT.

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

  • args
    Os argumentos de substituição usados por format.

Comentários

Todas essas macros levar a reportTypee formatparâmetros.Além disso, eles também podem demorar até quatro argumentos adicionais, representados pelo número anexado ao nome da macro.For example, _RPT0 and _RPTF0 take no additional arguments, _RPT1 and _RPTF1 take arg1, _RPT2 and _RPTF2 take arg1 and arg2, and so on.

O _RPT e _RPTF as macros são semelhantes do printf 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 colocado entre #ifdef instruções para a impedi-los de que está sendo chamado em uma compilação de um aplicativo de varejo.Essa flexibilidade é atingida usando a _ Debug macro; o _RPT e _RPTF as macros estão disponíveis somente quando o _DEBUG sinalizador é definido.Quando _DEBUG não é definido, chamadas para essas macros são removidas durante o pré-processamento.

O _RPTW e _RPTFW as macros são versões de caracteres largos dessas macros.Eles são como wprintf e tomar as seqüências de caracteres largos como argumentos.

O _RPT macros chamada a _CrtDbgReport a função para gerar um relatório de depuração com uma mensagem do usuário.O _RPTW macros chamada a _CrtDbgReportW função para gerar o mesmo relatório com caracteres de largura.O _RPTF e _RPTFW macros criar um relatório de depuração com o número de linha e o arquivo de origem onde a macro de relatório foi chamada, além da mensagem do usuário.A mensagem do usuário é criada, substituindo o argn argumentos para oformat em seqüência, usando as mesmas regras definidas pelo printf função.

_CrtDbgReportou _CrtDbgReportW gera o relatório de depuração e determina seus destinos com base em modos de relatório atual e o arquivo definido para reportType.O _ CrtSetReportMode e _CrtSetReportFile funções são usadas para definir os destinos para cada tipo de relatório.

Se um _RPT é chamada de macro e nenhum deles _CrtSetReportMode nem _CrtSetReportFile foi chamado, as mensagens são exibidas da seguinte maneira.

Tipo de relatório

Destino de saída

_CRT_WARN

O texto de aviso não é exibido.

_CRT_ERROR

Uma janela pop-up.Mesmo como se _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); tivesse sido especificado.

_CRT_ASSERT

Same as _CRT_ERROR.

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

Existem duas outras macros gerar um relatório de depuração.O _ASSERT macro gera um relatório, mas somente quando seu argumento da expressão for avaliada como FALSE._ASSERTE é exatamente com _ASSERT, mas inclui a expressão com falha no relatório gerado.

Requisitos

Macro

Cabeçalho necessário

_RPTmacros

<crtdbg.h>

_RPTFmacros

<crtdbg.h>

_RPTWmacros

<crtdbg.h>

_RPTFWmacros

<crtdbg.h>

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

Bibliotecas

Versões de depuração de bibliotecas de tempo 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 depuração porque essas macros chamam outras funções de tempo de execução.

Exemplo

Veja o exemplo de _ASSERT tópico.

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.

Consulte também

Referência

Rotinas de depuração