다음을 통해 공유


.printf

.printf 토큰은 C의 printf 문처럼 동작합니다.

.printf [/D] [Option] "FormatString" [, Argument , ...] 

구문 요소

/D
서식 문자열에 DML(디버거 태그 언어)이 포함되도록 지정합니다.

선택
(WinDbg만 해당) WinDbg에서 FormatString을 해석해야 하는 문자 메시지의 유형을 지정합니다. WinDbg는 디버거 명령 창 메시지의 각 형식에 배경색과 텍스트 색을 할당합니다. 이러한 옵션 중 하나를 선택하면 메시지가 적절한 색으로 표시됩니다. 기본값은 텍스트를 일반 수준 메시지로 표시하는 것입니다.

다음 옵션을 사용할 수 있습니다.

옵션 메시지 유형 옵션 대화 상자의 색 제목

/od

debuggee

디버기 수준 명령 창

/최저가

디버기 프롬프트

디버기 프롬프트 수준 명령 창

/oe

error

오류 수준 명령 창

/on

노멀

일반 수준 명령 창

/op

prompt

프롬프트 수준 명령 창

/oP

프롬프트 레지스터

프롬프트 레지스터 수준 명령 창

/os

symbols

기호 메시지 수준 명령 창

/ov

verbose

자세한 정보 수준 명령 창

/ow

경고

경고 수준 명령 창

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

값을 64비트로 해석해야 함을 나타내기 위해 "I64" 한정자를 추가할 수 있습니다. 예를 들어 "%I64x"를 사용하여 64비트 16진수를 인쇄할 수 있습니다.

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

캐릭터 인수 형식 인수 인쇄된 텍스트

%p

ULONG64

대상의 가상 주소 공간에 있는 포인터입니다.

포인터의 값입니다.

%N

DWORD_PTR(호스트의 아키텍처에 따라 32비트 또는 64비트)

호스트의 가상 주소 공간에 있는 포인터입니다.

포인터의 값입니다. 표준 C %p 문자와 동일합니다.

%ma

ULONG64

대상의 가상 주소 공간에서 NULL로 끝나는 ASCII 문자열의 주소입니다.

지정된 문자열입니다.

%mu

ULONG64

대상의 가상 주소 공간에 있는 NULL로 끝나는 유니코드 문자열의 주소입니다.

지정된 문자열입니다.

%msa

ULONG64

대상의 가상 주소 공간에 있는 ANSI_STRING 구조체의 주소입니다.

지정된 문자열입니다.

%msu

ULONG64

대상의 가상 주소 공간에 있는 UNICODE_STRING 구조체의 주소입니다.

지정된 문자열입니다.

%y

ULONG64

대상의 가상 주소 공간에 있는 디버거 기호의 주소입니다.

지정된 기호의 이름(및 변위(있는 경우)을 포함하는 문자열입니다.

%ly

ULONG64

대상의 가상 주소 공간에 있는 디버거 기호의 주소입니다.

지정된 기호의 이름(및 변위(있는 경우)과 사용 가능한 소스 줄 정보를 포함하는 문자열입니다.

인수
printf와 같이 형식 문자열에 대한 인수를 지정합니다. 지정된 인수 수는 FormatString의 변환 문자 수와 일치해야 합니다. 각 인수는 기본 식 계산기(MASM 또는 C++)에서 계산되는 식입니다. 자세한 내용은 숫자 식 구문을 참조 하세요.

추가 정보

다른 제어 흐름 토큰 및 디버거 명령 프로그램에서의 사용에 대한 자세한 내용은 디버거 명령 프로그램 사용을 참조 하세요.

설명

Options 매개 변수를 사용하여 선택할 수 있는 색 설정은 기본적으로 모두 흰색 배경의 검은색 텍스트로 설정됩니다. 이러한 옵션을 최대한 활용하려면 먼저 보기 | 옵션 대화 상자를 열고 디버거 명령 창 메시지에 대한 색 설정을 변경하는 옵션 입니다.

다음 예제에서는 형식 문자열에 DML 태그를 포함하는 방법을 보여 있습니다.

.printf /D "Click <link cmd=\".chain /D\">here</link> to see extensions DLLs."

명령 브라우저 창의 DML 링크 스크린샷

이전 이미지에 표시된 출력에는 태그에 지정된 명령을 실행하기 위해 클릭할 수 있는 링크가 <link> 있습니다. 다음 이미지는 링크를 클릭한 결과를 보여줍니다.

명령 브라우저 창의 DML 출력 스크린샷

DML 태그에 대한 자세한 내용은 Windows용 디버깅 도구 설치 폴더의 dml.doc 참조하세요.