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