共用方式為


PWINDBG_OUTPUT_ROUTINE回呼函式 (wdbgexts.h)

回調函式會實作功能,將格式化字串列印至 [調試程式命令] 視窗。

wdbgexts.h 標頭會宣告巨集,列印格式化字串的 dprintf。 其運作方式類似 C 語言例程 printf

語法

PWINDBG_OUTPUT_ROUTINE PwindbgOutputRoutine;

void PwindbgOutputRoutine(
  [in] PCSTR lpFormat,
  [in] ... unnamedParam2
)
{...}

參數

[in] lpFormat

指定格式字串,如 printf中所示。 一般而言,轉換字元的運作方式與 C 完全相同。對於浮點轉換字元,除非使用 l 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 終止的 Unicode 字串位址 指定的字串。
%msa ULONG64 目標虛擬位址空間中ANSI_STRING結構的位址 指定的字串。
%msu ULONG64 目標虛擬位址空間中UNICODE_STRING結構的位址 指定的字串。
%y ULONG64 目標虛擬位址空間中的調試程式符號位址 字串,包含指定符號的名稱(如果有的話則為和位移)。
%ly ULONG64 目標虛擬位址空間中的調試程式符號位址 字串,包含指定符號的名稱(以及任何位移,如果有的話),以及任何可用的源行資訊。

[in] unnamedParam2

[arguments] - 指定格式字串的自變數,如 printf 所示。 指定的自變數數目應該符合 formatString 中的轉換字元數。 每個自變數都是由預設表達式評估工具 (MASM 或 C++) 評估的運算式。 如需詳細資訊,請參閱 數值表示式語法

傳回值

沒有

言論

產生非常大的輸出字串時,可能會達到調試程式引擎或作系統的限制。 例如,某些版本的調試程式引擎對於單一輸出有 16K 個字元的限制。 如果您發現非常大的輸出遭到截斷,您可能需要將輸出分割成多個要求。

要求

要求 價值
目標平臺 桌面
標頭 wdbgexts.h (include Wdbgexts.h, Dbgeng.h)