IDebugControl3::Output 方法 (dbgeng.h)
Output 方法格式化字符串,并将结果发送到已向引擎客户端注册的输出回调。
语法
HRESULT Output(
[in] ULONG Mask,
[in] PCSTR Format,
...
);
参数
[in] Mask
指定输出类型位字段。 有关可能的值 ,请参阅DEBUG_OUTPUT_XXX 。
[in] Format
指定格式字符串,如 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 | 具有符号信息的项的进程虚拟地址空间中的地址 | 包含指定符号的名称 (和位移的字符串(如果有任何) )。 |
%ly | ULONG64 | 具有符号信息的项的进程虚拟地址空间中的地址 | 包含指定符号的名称 (和位移的字符串(如果有) ),以及任何可用的源行信息。 |
...
指定其他参数,这些参数包含格式设置期间要插入到输出中的值。
返回值
此方法也可能返回错误值。 有关更多详细信息 ,请参阅返回值 。
返回代码 | 说明 |
---|---|
|
方法成功。 |
注解
生成非常大的输出字符串时,可能会达到调试器引擎或操作系统的限制。 例如,某些版本的调试器引擎对单个输出具有 16K 字符的限制。 如果发现非常大的输出被截断,可能需要将输出拆分为多个请求。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |