IDebugControl::Disassemble method

The Disassemble method disassembles a processor instruction in the target's memory.


HRESULT Disassemble(
  [in]            ULONG64  Offset,
  [in]            ULONG    Flags,
  [out, optional] PSTR     Buffer,
  [in]            ULONG    BufferSize,
  [out, optional] PULONG   DisassemblySize,
  [out]           PULONG64 EndOffset


Offset [in]

Specifies the location in the target's memory of the instruction to disassemble.

Flags [in]

Specifies the bit-flags that affect the behavior of this method. Currently the only flag that can be set is DEBUG_DISASM_EFFECTIVE_ADDRESS; when set, the engine will compute the effective address from the current register information and display it.

Buffer [out, optional]

Receives the disassembled instruction. If Buffer is NULL, this information is not returned.

BufferSize [in]

Specifies the size, in characters, of the Buffer buffer.

DisassemblySize [out, optional]

Receives the size, in characters, of the disassembled instruction. If DisassemblySize is NULL, this information is not returned.

EndOffset [out]

Receives the location in the target's memory of the instruction following the disassembled instruction.

Return value

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

Return codeDescription

The method was successful.


The method was successful. However, Buffer was too small to hold the disassembled instruction and the instruction was truncated to fit.



The assembly language depends on the effective processor type of the target system. For information about the assembly language, see the processor documentation.

The disassembly options--returned by GetAssemblyOptions--affect the operation of this method.

For an overview of using assembly in debugger applications, see Debugging in Assembly Mode. For more information about using assembly with the debugger engine API, see Assembling and Disassembling Instructions.


Target platform


Dbgeng.h (include Dbgeng.h)

See also

u (Unassemble)



Send comments about this topic to Microsoft