.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."
이전 이미지에 표시된 출력에는 태그에 지정된 명령을 실행하기 위해 클릭할 수 있는 링크가 <link>
있습니다. 다음 이미지는 링크를 클릭한 결과를 보여줍니다.
DML 태그에 대한 자세한 내용은 Windows용 디버깅 도구 설치 폴더의 dml.doc 참조하세요.