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 포함)