_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
참조하세요.