Output
TOC
Collapse the table of content
Expand the table of content

IDebugControl::Output method

The Output method formats a string and send the result to output callbacks that have been registered with the engine's clients.

Syntax


HRESULT Output(
  [in] ULONG Mask,
  [in] PCSTR Format,
             ...
);

Parameters

Mask [in]

Specifies the output-type bit field. See DEBUG_OUTPUT_XXX for possible values.

Format [in]

Specifies the format string, as in printf. In general, conversion characters work exactly as in C. For the floating-point conversion characters the 64-bit argument is interpreted as a 32-bit floating-point number unless the l modifier is used.

The %p conversion character is supported, but it represents a pointer in a target's address space. It cannot have any modifiers and it uses the debugger's internal address formatting. The following additional conversion characters are supported.

CharacterArgument typeArgumentText printed

%p

ULONG64

Pointer in an address space

The value of the pointer.

%N

DWORD_PTR (32 or 64 bits, depending on the host's architecture)

Pointer in the host's virtual address space

The value of the pointer. (This is equivalent to the standard C %p character.)

%I

ULONG64

Any 64-bit value

The specified value. If this is greater than 0xFFFFFFFF, it is printed as a 64-bit value. Otherwise, it is printed as a 32-bit value.

%ma

ULONG64

Address of a NULL-terminated ASCII string in the process's virtual address space

The specified string.

%mu

ULONG64

Address of a NULL-terminated Unicode string in the process's virtual address space

The specified string.

%msa

ULONG64

Address of an ANSI_STRING structure in the process's virtual address space

The specified string.

%msu

ULONG64

Address of a UNICODE_STRING structure in the process's virtual address space

The specified string.

%y

ULONG64

Address in the process's virtual address space of an item with symbol information

String that contains the name of the specified symbol (and displacement, if any).

%ly

ULONG64

Address in the process's virtual address space of an item with symbol information

String that contains the name of the specified symbol (and displacement, if any), as well as any available source line information.

 

...

Specifies additional parameters that contain values to be inserted into the output during formatting.

Return value

This method may also return error values. See Return Values for more details.

Return codeDescription
S_OK

The method was successful.

 

Remarks

When generating very large output strings, it is possible to reach the limits of the debugger engine or of the operating system. For example, some versions of the debugger engine have a 16K character limit for a single output. If you find that very large output is getting truncated, you might need to split your output into multiple requests.

Requirements

Target platform

Desktop

Header

Dbgeng.h (include Dbgeng.h)

See also

IDebugControl
IDebugControl2
IDebugControl3
dprintf
ControlledOutput
OutputVaList
.printf

 

 

Send comments about this topic to Microsoft

Show:
© 2016 Microsoft