PWINDBG_OUTPUT_ROUTINE 콜백 함수(wdbgexts.h)
콜백 함수는 서식이 지정된 문자열을 디버거 명령 창에 인쇄하는 기능을 구현합니다.
wdbgexts.h 헤더는 서식이 지정된 문자열을 인쇄하는 매크로 dprintf 를 선언합니다. C 언어 루틴 인쇄물처럼 작동합니다.
구문
PWINDBG_OUTPUT_ROUTINE PwindbgOutputRoutine;
void PwindbgOutputRoutine(
[in] PCSTR lpFormat,
[in] ... unnamedParam2
)
{...}
매개 변수
[in] lpFormat
printf에서와 같이 형식 문자열을 지정합니다. 일반적으로 변환 문자는 C와 동일하게 작동합니다. 부동 소수점 변환 문자의 경우 l 한정자를 사용하지 않는 한 64비트 인수는 32비트 부동 소수점 숫자로 해석됩니다.
%p 변환 문자는 지원되지만 대상의 가상 주소 공간에 있는 포인터를 나타냅니다. 한정자가 없을 수 있으며 디버거의 내부 주소 서식을 사용합니다. 다음과 같은 추가 변환 문자가 지원됩니다.
문자 | 인수 형식 | 인수 | 인쇄된 텍스트 |
---|---|---|---|
%p | ULONG64 | 대상의 가상 주소 공간에 있는 포인터 | 포인터의 값입니다. |
%N | DWORD_PTR( 호스트의 아키텍처에 따라 32비트 또는 64비트) | 호스트의 가상 주소 공간 포인터 | 포인터의 값입니다. 표준 C %p 문자와 동일합니다. |
%I | ULONG64 | 모든 64비트 값 | 지정된 값입니다. 64비트 주소로 인쇄되는 0xFFFFFFFF 이보다 크면 32비트 주소로 인쇄됩니다. |
%ma | ULONG64 | 대상의 가상 주소 공간에서 NULL로 종료된 ASCII 문자열의 주소 | 지정된 문자열입니다. |
%mu | ULONG64 | 대상의 가상 주소 공간에서 NULL로 종료된 유니코드 문자열의 주소 | 지정된 문자열입니다. |
%msa | ULONG64 | 대상의 가상 주소 공간에서 ANSI_STRING 구조체의 주소 | 지정된 문자열입니다. |
%msu | ULONG64 | 대상의 가상 주소 공간에서 UNICODE_STRING 구조체의 주소 | 지정된 문자열입니다. |
%y | ULONG64 | 대상의 가상 주소 공간에 있는 디버거 기호의 주소 | 지정된 기호의 이름을 포함하는 문자열(및 변위(있는 경우)) |
%ly | ULONG64 | 대상의 가상 주소 공간에 있는 디버거 기호의 주소 | 지정된 기호의 이름(및 있는 경우 변위)과 사용 가능한 소스 줄 정보를 포함하는 문자열입니다. |
[in] unnamedParam2
[인수] - printf와 같이 형식 문자열에 대한 인수를 지정합니다. 지정한 인수 수는 FormatString의 변환 문자 수와 일치해야 합니다. 각 인수는 기본 식 계산기(MASM 또는 C++)에 의해 평가되는 식입니다. 자세한 내용은 숫자 식 구문을 참조하세요.
반환 값
없음
설명
매우 큰 출력 문자열을 생성할 때 디버거 엔진 또는 운영 체제의 제한에 도달할 수 있습니다. 예를 들어 디버거 엔진의 일부 버전에는 단일 출력에 대해 16K 문자 제한이 있습니다. 매우 큰 출력이 잘리는 것을 발견하면 출력을 여러 요청으로 분할해야 할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | wdbgexts.h(Wdbgexts.h, Dbgeng.h 포함) |