.printf
.printf 令牌的行為就像 C 中的 printf 語句。
.printf [/D] [Option] "FormatString" [, Argument , ...]
語法元素
/D
指定格式字串包含 調試程式標記語言 (DML)。
選擇
(僅限 WinDbg)指定 WinDbg 應該將 FormatString 解譯為的文字訊息類型。 WinDbg 會指派每種類型的調試程式命令視窗訊息背景和文字色彩;選擇其中一個選項會導致訊息以適當的色彩顯示。 預設值是將文字顯示為一般層級的訊息。
可用選項如下。
選項 | 訊息類型 | [選項] 對話框中色彩的標題 |
---|---|---|
/od |
debuggee |
偵錯層級命令視窗 |
/oD |
debuggee 提示 |
偵錯提示字元層級命令視窗 |
/oe |
error |
錯誤層級命令視窗 |
/on |
一般 |
一般層級命令視窗 |
/op |
prompt |
提示層級命令視窗 |
/oP |
提示快取器 |
提示快取器層級命令視窗 |
/os |
符號 |
符號訊息層級命令視窗 |
/ov |
verbose |
詳細資訊層級命令視窗 |
/ow |
warning |
警告層級命令視窗 |
FormatString
指定格式字串,如 printf 所示。 一般而言,轉換字元的運作方式與 C 完全相同。如果是浮點轉換字元,除非 使用 l 修飾詞,否則 64 位自變數會解譯為 32 位浮點數。
您可以加入 「I64」 修飾詞,以指出值應該解譯為 64 位。 例如,“%I64x” 可用來列印 64 位十六進位數位。
支援 %p 轉換字元,但它代表目標虛擬位址空間中的指標。 它不得有任何修飾詞,而且它使用調試程式的內部位址格式。 除了標準 printf 樣式格式規範之外,還支援下列額外的轉換字元。
字元 | 引數類型 | Argument | 列印的文字 |
---|---|---|---|
%p |
ULONG64 |
目標虛擬位址空間中的指標。 |
指標的值。 |
%N |
DWORD_PTR (32 或 64 位,視主機的架構而定) |
主機虛擬位址空間中的指標。 |
指標的值。 (這相當於標準 C %p 字元。) |
%馬 |
ULONG64 |
目標虛擬位址空間中以 NULL 終止的 ASCII 字串位址。 |
指定的字串。 |
%mu |
ULONG64 |
目標虛擬位址空間中以 NULL 終止的 Unicode 字串位址。 |
指定的字串。 |
%msa |
ULONG64 |
目標虛擬位址空間中ANSI_STRING結構的位址。 |
指定的字串。 |
%msu |
ULONG64 |
目標虛擬位址空間中UNICODE_STRING結構的位址。 |
指定的字串。 |
%y |
ULONG64 |
目標虛擬位址空間中的調試程式符號位址。 |
字串,包含指定符號的名稱(如果有的話則為位移)。 |
%ly |
ULONG64 |
目標虛擬位址空間中的調試程式符號位址。 |
字串,包含指定符號的名稱(以及任何位移,如果有的話),以及任何可用的源行資訊。 |
參數
指定格式字串的自變數,如 printf 所示。 指定的自變數數目應該符合 FormatString 中的轉換字元數目。 每個自變數都是由預設表達式評估工具 (MASM 或 C++) 評估的運算式。 如需詳細資訊,請參閱 數值表達式語法。
其他資訊
如需其他控制流程令牌及其在調試程式命令程式中使用的資訊,請參閱 使用調試程式命令程式。
備註
您可以使用 Options 參數選擇的色彩設定預設都是設定為白色背景上的黑色文字。 若要充分利用這些選項,您必須先使用 View |開啟 [選項 ] 對話框的選項,並變更 [調試程式命令] 視窗訊息的色彩設定。
下列範例示範如何在格式字串中包含 DML 標籤。
.printf /D "Click <link cmd=\".chain /D\">here</link> to see extensions DLLs."
上圖中顯示的輸出有一個連結,您可以按下以執行標記中指定的 <link>
命令。 下圖顯示按兩下連結的結果。
如需 DML 標籤的相關信息,請參閱 Windows 偵錯工具安裝資料夾中的dml.doc。