_RPT, _RPTF, _RPTW, _RPTFW 매크로
(디버그 버전에만 해당) 디버그 보고서를 생성하여 응용 프로그램의 진행률을 추적합니다. args 에서 인수의 갯수 n 을 지정합니다. 0,1,2,3,4 또는 5가 될 수 있습니다.
_RPTn(
reportType,
format,
...[args]
);
_RPTFn(
reportType,
format,
[args]
);
_RPTWn(
reportType,
format
[args]
);
_RPTFWn(
reportType,
format
[args]
);
매개 변수
reportType
Report type: _CRT_WARN, _CRT_ERROR, 또는 _CRT_ASSERT.format
사용자 메시지를 작성하는데 사용하는 컨트롤 서식 문자열입니다.args
format 사용 되는 대체 인수입니다.
설명
이러한 모든 매크로는 reportType와 format매개변수들을 받습니다. 또한, 매크로 이름에 추가 숫자를 넣어 표시하는 4개의 추가적인 인수들을 수행할 수 있습니다. 예를 들면, _RPT0 와 _RPTF0 는 추가적인 인수를 받지 않지만, _RPT1 와 _RPTF1 는 arg1 을 받고, _RPT2 와 _RPTF2 는 arg1 와 arg2 역시 받습니다.
_RPT 와 _RPTF 매크로는 디버깅 과정 동안 응용프로그램의 진행률을 추적하기 위해 사용될 수 있기 때문에 printf 와 유사합니다. 그러나, 이러한 매크로는 응용프로그램의 정식 빌드에서 호출됨으로 그들을 막기위해 #ifdef 문에서 묶을 필요가 없기 때문에, printf 보다 유연성을 갖고 있습니다. 이러한 유연성을 DEBUG 매크로를 사용하여 얻을 수 있습니다: _RPT 와 _RPTF 매크로는 오직 _DEBUG 플래그가 정의되었을 때 이용할 수 있습니다. _DEBUG 가 정의되지 않았을 때, 이러한 매크로를 호출하면 전처리시기에 제거됩니다.
_RPTW 와 _RPTFW 매크로는 이러한 매크로의 와이드 문자 벼전입니다. 이들은 wprintf 와 비슷하고 인수로써 와이드 문자열을 받습니다.
_RPT 매크로는 사용자 메시지와 함께 디버그 보고서를 생성하는 _CrtDbgReport 함수를 호출합니다. _RPTW 매크로는 와이드 문자들과 함께 가틍ㄴ 보고서를 생성하기 위해 _CrtDbgReportW 함수를 호출합니다. _RPTF 와 _RPTFW 매크로는 추가적으로 사용자 메시지를 위해 보고서 매크로가 호출되는 곳에서 줄 번호와 소스 파일을 사용하여 디버그 보고서를 생성합니다. 사용자 메시지는 printf 함수로 정의된 동일한 규칙을 사용하여 대체된 arg[n] 인수들을 format 문자열로 하여 생성됩니다.
_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) 디버깅이 활성화됩니다. 디버깅 오류를 처리하는 메커니즘으로 이 매크로를 사용하는 것에 관한 자세한 내용은 확인과 보고에 대한 매크로 사용을 참고하세요.
다른 두 개의 매크로가 디버그 보고서를 생성하기위해 존재합니다. 오직 인수식이 FLASE일 때. _ASSERT 매크로가 보고서를 생성합니다. _ASSERTE 는 정확하게 _ASSERT 와 같지만, 생성된 보고서에서 발생된 오류를 포함합니다.
요구 사항
매크로 |
필수 헤더 |
---|---|
_RPT 매크로 |
<crtdbg.h> |
_RPTF 매크로 |
<crtdbg.h> |
_RPTW 매크로 |
<crtdbg.h> |
_RPTFW 매크로 |
<crtdbg.h> |
호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.
라이브러리
C 런타임 라이브러리 의 유일한 디버그 버전입니다.
비록 이러한 매크로는 Crtdbg.h를 포함하여 얻게되지만, 응용프로그램은 이 매크로가 다른 런타임 함수들을 호출하기 때문에 디버그 라이브러리들 중 하나를 사용하여 연결해야 합니다.
예제
_ASSERT 항목에서 이런 예제를 참조하세요.
해당 .NET Framework 항목
해당 사항 없음. 표준 C 함수를 호출하려면 PInvoke를 사용합니다. 자세한 내용은 플랫폼 호출 예제를 참조하십시오.