Share via


_RPT, , , _RPTF_RPTWMacros _RPTFW

Rastreia o progresso de um aplicativo gerando um relatório de depuração (somente versão de depuração). O n sufixo especifica o número de argumentos no args, e pode ser 0, 1, 2, 3, 4 ou 5.

Sintaxe

_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 controle de formato usada para criar a mensagem do usuário.

args
Argumentos de substituição usados por format.

Comentários

Todas essas macros usam os reportType parâmetros e format . Além disso, eles também podem levar até mais quatro argumentos, significados pelo número anexado ao nome da macro. Por exemplo, e não tome mais argumentos, e tome , e tome arg1arg1e , _RPT0_RPT2_RPT1 e _RPTF0_RPTF1_RPTF2arg2assim por diante.

As _RPT macros e _RPTF são semelhantes à printf função, porque podem ser usadas para controlar o progresso de um aplicativo durante o processo de depuração. No entanto, essas macros são mais flexíveis do que porque não precisam ser incluídas em instruções #ifdef para impedir que printf sejam chamadas em uma compilação de varejo de um aplicativo. Essa flexibilidade é alcançada usando a _DEBUG macro, as _RPT macros e _RPTF só estão disponíveis quando o _DEBUG sinalizador é definido. Quando _DEBUG não está definido, as chamadas a essas macros são removidas durante o pré-processamento.

As macros _RPTW e _RPTFW são versões de caracteres largos dessas macros. Elas são como wprintf e adotam cadeias de caracteres largos como argumentos.

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

_CrtDbgReport ou _CrtDbgReportW geram o relatório de depuração e determinam seu destino com base nos modos de relatório atual e no arquivo definido para reportType. As funções _CrtSetReportMode e _CrtSetReportFile são usadas para definir os destinos de cada tipo de relatório.

Se uma _RPT macro for chamada e _CrtSetReportMode_CrtSetReportFile não tiver sido chamada, as mensagens serã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 que se _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); 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 _CrtDbgReport Repetir ou _CrtDbgReportW retorna 1. Esse valor de retorno faz com que essas macros iniciem o depurador, se a depuração just-in-time (JIT) estiver habilitada. Para obter mais informações sobre como usar essas macros como um mecanismo de tratamento de erros de depuração, consulte Macros para relatórios.

Há duas outras macros que geram um relatório de depuração. A _ASSERT macro gera um relatório, mas somente quando seu argumento de expressão é avaliado como FALSE. _ASSERTE é exatamente como _ASSERT, mas inclui a expressão com falha no relatório gerado.

Requisitos

Macro Cabeçalho necessário
Macros _RPT <crtdbg.h>
Macros _RPTF <crtdbg.h>
Macros _RPTW <crtdbg.h>
Macros _RPTFW <crtdbg.h>

Para obter informações sobre compatibilidade, consulte Compatibilidade.

Bibliotecas

Somente versões de depuração de bibliotecas de tempo de execução C.

Embora essas macros estejam disponíveis quando você inclui crtdbg.ho , para ser executado, o aplicativo deve se vincular a uma das bibliotecas de depuração, porque essas macros chamam outras funções de tempo de execução.

Exemplo

Veja o _ASSERT exemplo no artigo.

Confira também

Rotinas de depuração