다음을 통해 공유


_RPT, _RPTF, _RPTW매크로 _RPTFW

디버그 보고서를 생성하여 애플리케이션의 진행률을 추적합니다(디버그 버전에만 해당함). n 접미사는 인수 args수를 지정하며 0, 1, 2, 3, 4 또는 5일 수 있습니다.

구문

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

매개 변수

reportType
보고서 형식(_CRT_WARN, _CRT_ERROR 또는 _CRT_ASSERT)입니다.

format
사용자 메시지를 만드는 데 사용되는 형식 제어 문자열입니다.

args
format에서 사용하는 대체 인수입니다.

설명

이러한 모든 매크로는 및 format 매개 변수를 reportType 사용합니다. 또한 매크로 이름에 추가된 숫자로 나타내는 인수를 최대 4개까지 더 걸릴 수도 있습니다. 예를 들어 더 _RPT0 _RPTF0 이상 인수 _RPTF1 _RPT1 를 사용하지 않고, 인수를 _RPTF2 가져와 _RPT2 arg1서 받아 arg1 arg2서 가져가는 등의 작업을 수행합니다.

_RPT _RPTF 및 매크로는 디버깅 프로세스 중에 애플리케이션의 진행률을 추적하는 데 사용할 수 있으므로 함수와 유사 printf 합니다. 그러나 이러한 매크로는 애플리케이션의 소매 빌드에서 호출되는 것을 방지하기 위해 #ifdef 문으로 묶을 필요가 없기 때문에 보다 유연 printf 합니다. 이러한 유연성은 매크로 _RPT_DEBUG 사용하여 수행됩니다. 플래그가 정의된 경우에만 매크로와 _RPTF 매크로를 _DEBUG 사용할 수 있습니다. 정의되지 않은 경우 _DEBUG 전처리 중에 이러한 매크로에 대한 호출이 제거됩니다.

_RPTW_RPTFW 매크로는 이러한 매크로의 와이드 문자 버전입니다. 이러한 매크로는 wprintf처럼 와이드 문자열을 인수로 사용합니다.

매크로는 _RPT 함수를 _CrtDbgReport 호출하여 사용자 메시지를 사용하여 디버그 보고서를 생성합니다. _RPTW 매크로는 _CrtDbgReportW 함수를 호출하여 와이드 문자가 포함된 동일 보고서를 생성합니다. _RPTF_RPTFW 매크로는 보고서 매크로가 호출된 소스 파일과 줄 번호 및 사용자 메시지를 사용하여 디버그 보고서를 만듭니다. 사용자 메시지는 함수에서 정의 printf 한 것과 동일한 규칙을 사용하여 인수를 문자열로 format 대체 arg[n] 하여 생성됩니다.

_CrtDbgReport 또는 _CrtDbgReportW는 디버그 보고서를 생성하고 reportType에 대해 정의된 파일 및 현재 보고서 모드에 따라 해당 대상을 결정합니다. _CrtSetReportMode_CrtSetReportFile 함수는 각 보고서 형식의 대상을 정의하는 데 사용됩니다.

매크로가 _RPT 호출되고 _CrtSetReportMode _CrtSetReportFile 호출되지 않은 경우 메시지는 다음과 같이 표시됩니다.

보고서 종류 출력 대상
_CRT_WARN 경고 텍스트가 표시되지 않습니다.
_CRT_ERROR 팝업 창이 표시됩니다. _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW);를 지정한 경우와 동일합니다.
_CRT_ASSERT _CRT_ERROR와 동일합니다.

대상이 디버그 메시지 창이고 사용자가 다시 시도 단추를 _CrtDbgReport 선택하거나 _CrtDbgReportW 1을 반환하는 경우 이 반환 값은 JIT(Just-In-Time) 디버깅을 사용하는 경우 이러한 매크로가 디버거를 시작하도록 합니다. 이러한 매크로를 디버깅 오류 처리 메커니즘으로 사용하는 방법에 대한 자세한 내용은 보고용 매크로를 참조하세요.

디버그 보고서를 생성하는 두 가지 다른 매크로가 있습니다. 매크로는 _ASSERT 보고서를 생성하지만 식 인수가 .로 계산되는 FALSE경우에만 발생합니다. _ASSERTE 는 정확히 유사 _ASSERT하지만 생성된 보고서에 실패한 식을 포함합니다.

요구 사항

매크로 필수 헤더
_RPT 매크로 <crtdbg.h>
_RPTF 매크로 <crtdbg.h>
_RPTW 매크로 <crtdbg.h>
_RPTFW 매크로 <crtdbg.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

라이브러리

C 런타임 라이브러리의 디버그 버전만 해당됩니다.

이러한 매크로는 실행할 때 crtdbg.h사용할 수 있지만 애플리케이션은 다른 런타임 함수를 호출하기 때문에 디버그 라이브러리 중 하나와 연결해야 합니다.

예시

문서의 예제를 _ASSERT 참조하세요.

참고 항목

디버그 루틴