Compartilhar via


Macros _RPT, _RPTF, _RPTW, _RPTFW

Rastreia o progresso de um aplicativo gerando um relatório de depuração (versão de depuração somente). 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, ou _CRT_ASSERT.

  • format
    Cadeia de caracteres de formato controle usada para criar a mensagem do usuário.

  • args
    Argumentos de substituição usados por format.

Comentários

Todos esses macros considera os parâmetrosde reportTypeede format. Além disso, também podem levar até quatro argumentos adicionais, significados pelo número anexado ao nome da macro. Por exemplo, _RPT0 e _RPTF0 não têm nenhum argumento adicional, _RPT1 e _RPTF1 usa arg1, _RPT2 e _RPTF2 usa arg1 e arg2, e assim por diante.

Macros de _RPT e de _RPTF são semelhantes à função de printf , pois eles podem ser usados para controlar o progresso de um aplicativo durante o processo de depuração. No entanto, esses são macros mais flexíveis do que printf porque não precisam ser incluídos em instruções de #ifdef para evitar que sejam chamadas em uma compilação de varejo de um aplicativo. Essa flexibilidade é obtida com a macro de _DEBUG ; macros de _RPT e de _RPTF só estão disponíveis quando o sinalizador de _DEBUG é definido. Quando _DEBUG não for definido, as chamadas para esses macros serão removidos durante pré-processamento.

Macros de _RPTW e de _RPTFW são versões de ampla caractere desses macros. São os wprintf e considera cadeias de caracteres de ampla caractere como argumentos.

Macros de _RPT chamam a função de _CrtDbgReport para gerar um relatório de depuração com uma mensagem do usuário. Macros de _RPTW chamam a função de _CrtDbgReportW para gerar o mesmo relatório com caracteres amplos. Macros de _RPTF e de _RPTFW criar um relatório de depuração com o arquivo de origem e o número da linha onde a macro de relatório foi chamado, além da mensagem do usuário. A mensagem do usuário é criada substituindo os argumentos de arg[]nna cadeia de caracteres de format , usando as mesmas regras definidas pela função de printf .

_CrtDbgReport ou _CrtDbgReportW gerenciem o relatório de depuração e determina os destinos com base nos modos e no arquivo atuais de relatório definidos para reportType. As funções de _CrtSetReportMode e de _CrtSetReportFile são usadas para definir os destinos para cada tipo de relatório.

Se uma macro de _RPT é chamado e nem _CrtSetReportMode ou _CrtSetReportFile foram chamados, as mensagens serão exibidas como se segue.

Tipo de relatório

Destino de saída

_CRT_WARN

O texto de aviso não é exibido.

_CRT_ERROR

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

_CRT_ASSERT

Mesmo que _CRT_ERROR.

Quando o destino é uma janela de mensagem de depuração e o usuário escolhe o botão de Repetir , _CrtDbgReport ou _CrtDbgReportW retornam 1, fazendo com que esses macros liguem o depurador, contanto que (JIT) de depuração just-in-time está habilitado. Para obter mais informações sobre como usar esses macros como um mecanismo de tratamento de erros de depuração, consulte Usando macros para verificação e relatórios.

Outros dois macros existem que gerencia um relatório de depuração. A macro de _ASSERT gerencie um relatório, mas apenas quando o argumento da expressão é avaliada como FALSE. _ASSERTE é exatamente como _ASSERT, mas inclui a expressão com falha no relatório gerado.

Requisitos

Macro

Cabeçalho necessário

macros de_RPT

<crtdbg.h>

macros de_RPTF

<crtdbg.h>

macros de_RPTW

<crtdbg.h>

macros de_RPTFW

<crtdbg.h>

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

Bibliotecas

Versões de depuração das Bibliotecas em tempo de execução C somente.

Embora esses são macros e sejam obtidos incluindo Crtdbg.h, o aplicativo deve vincular a uma das bibliotecas de depuração como esses macros chamam outras funções de tempo de execução.

Exemplo

Consulte o exemplo no tópico de _ASSERT .

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 chamadas de plataformas.

Consulte também

Referência

Rotinas de depuração