Debugging Tools for Windows

.printf

.printf 关键字和C中的printf 语句类似。

语法

.printf [Option"FormatString" [Arguments ...] 

语法项

Option
(仅WinDbg) 指定WinDbg要将FormatString解释成的文本类型。WinDbg会为调试器命令窗口中不同类型的信息指派不同的背景色和文本色;选择这些选项中的一个可以使得信息以适当的颜色进行显示。默认以普通级别信息来显示文本。关于消息的颜色和设置方法,查看View | Options

支持下面这些转义字符:

选项 消息类型 选项对话框中的颜色名
/od debuggee 调试目标级命令窗口(Debuggee level command window)
/oD debuggee prompt 调试目标提示级命令窗口(Debuggee prompt level command window)
/oe error 错误级命令窗口(Error level command window)
/on normal 普通级命令窗口(Normal level command window)
/op prompt 提示级命令窗口(Prompt level command window)
/oP prompt registers 提示寄存器级命令窗口(Prompt registers level command window)
/os symbols 符号信息级命令窗口(Symbol message level command window)
/ov verbose 详细级命令窗口(Verbose level command window)
/ow warning 警告级命令窗口(Warning level command window)
FormatString
指定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结尾的Unicode字符串地址。 指定的字符串。
%msa ULONG64 目标虚拟地址空间中的ANSI_STRING结构地址。 指定的字符串。
%msu ULONG64 目标虚拟地址空间中的UNICODE_STRING结构地址。 指定的字符串。
%y ULONG64 目标虚拟地址空间中的调试器符号的地址。 包含指定符号的名字的字符串(和偏移量(displacement),如果有的话)。
%ly ULONG64 目标虚拟地址空间中的调试器符号的地址。 包含指定符号的名字的字符串(和偏移量(displacement),如果有的话),和任何可用的源码行信息。

Arguments
指定printf的格式化字符串的参数。参数的个数应该和FormatString 中的转义字符数量匹配。每个参数都是一个使用默认表达式求值器(MASM 或C++)进行计算的表达式。详细信息,查看数值表达式语法

注释

可以用Options参数来选择的颜色设置默认情况下都是白底黑字。必须首先用View | Options来打开Options对话框并改变调试器命令窗口中消息的颜色,才能最好的使用这些选项。

附加信息

其它流程控制符的信息以及它们在调试器命令程序中的用法,查看使用调试器命令程序

Build machine: CAPEBUILD