다음을 통해 공유


IDebugControl2::OutputVaList 메서드(dbgeng.h)

OutputVaList 메서드는 문자열의 형식을 지정하고 엔진의 클라이언트에 등록된 출력 콜백에 결과를 보냅니다.

구문

HRESULT OutputVaList(
  [in] ULONG   Mask,
  [in] PCSTR   Format,
  [in] va_list Args
);

매개 변수

[in] Mask

출력 형식 비트 필드를 지정합니다. 가능한 값은 DEBUG_OUTPUT_XXX 참조하세요.

[in] Format

printf와 같이 형식 문자열을 지정합니다. 일반적으로 변환 문자는 C에서와 동일하게 작동합니다. 부동 소수점 변환 문자의 경우 l 한정자를 사용하지 않는 한 64비트 인수는 32비트 부동 소수점 숫자로 해석됩니다.

%p 변환 문자는 지원되지만 대상의 주소 공간에 있는 포인터를 나타냅니다. 한정자가 없을 수 있으며 디버거의 내부 주소 서식을 사용합니다. 다음과 같은 추가 변환 문자가 지원됩니다.

문자 인수 형식 인수 인쇄된 텍스트
%p ULONG64 주소 공간의 포인터입니다. 포인터의 값입니다.
%N DWORD_PTR(호스트의 아키텍처에 따라 32비트 또는 64비트) 호스트의 가상 주소 공간에 있는 포인터입니다. 포인터의 값입니다. 표준 C %p 문자와 동일합니다.
%I ULONG64 모든 64비트 값입니다. 지정된 값입니다. 이 값이 0xFFFFFFFF보다 크면 64비트 값으로 인쇄됩니다. 그렇지 않으면 32비트 값으로 인쇄됩니다.
%ma ULONG64 프로세스의 가상 주소 공간에서 NULL로 종료된 ASCII 문자열의 주소입니다. 지정된 문자열입니다.
%mu ULONG64 프로세스의 가상 주소 공간에서 NULL로 끝나는 유니코드 문자열의 주소입니다. 지정된 문자열입니다.
%msa ULONG64 프로세스의 가상 주소 공간에서 ANSI_STRING 구조체의 주소입니다. 지정된 문자열입니다.
%msu ULONG64 프로세스의 가상 주소 공간에서 UNICODE_STRING 구조체의 주소입니다. 지정된 문자열입니다.
%y ULONG64 기호 정보가 있는 항목의 프로세스 가상 주소 공간에 있는 주소입니다. 지정된 기호의 이름을 포함하는 문자열(및 변위(있는 경우))
%ly ULONG64 기호 정보가 있는 항목의 프로세스 가상 주소 공간에 있는 주소입니다. 지정된 기호의 이름(및 변위(있는 경우)과 사용 가능한 소스 줄 정보를 포함하는 문자열입니다.

[in] Args

서식 지정 중에 출력에 삽입할 값을 나타내는 추가 매개 변수를 지정합니다. va_start 사용하여 인수를 초기화해야 합니다. 이 메서드는 va_end 호출하지 않습니다.

반환 값

이 메서드는 오류 값을 반환할 수도 있습니다. 자세한 내용은 반환 값을 참조하세요.

반환 코드 Description
S_OK
메서드를 성공적으로 수행했습니다.

설명

매우 큰 출력 문자열을 생성할 때 디버거 엔진 또는 운영 체제의 제한에 도달할 수 있습니다. 예를 들어 디버거 엔진의 일부 버전에는 단일 출력에 대한 16K 문자 제한이 있습니다. 매우 큰 출력이 잘리는 것을 발견하면 출력을 여러 요청으로 분할해야 할 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 dbgeng.h(Dbgeng.h, Stdarg.h 포함)

추가 정보

ControlledOutputVaList

IDebugControl

IDebugControl2

IDebugControl3

출력

dprintf