Debugging Tools for Windows |
The OutputDisassemblyLines method disassembles several processor instructions and sends the resulting assembly instructions to the output callbacks.
HRESULT
IDebugControl::OutputDisassemblyLines(
IN ULONG OutputControl,
IN ULONG PreviousLines,
IN ULONG TotalLines,
IN ULONG64 Offset,
IN ULONG Flags,
OUT OPTIONAL PULONG OffsetLine,
OUT OPTIONAL PULONG64 StartOffset,
OUT OPTIONAL PULONG64 EndOffset,
OUT OPTIONAL PULONG64 LineOffsets
);
Bit-Flag | Effect when set |
---|---|
DEBUG_DISASM_EFFECTIVE_ADDRESS | Compute the effective address of each instruction from the current register information and output it. |
DEBUG_DISASM_MATCHING_SYMBOLS | If the address of an instruction has an exact symbol match, output the symbol. |
DEBUG_DISASM_SOURCE_LINE_NUMBER | Include the source line number of each instruction in the output. |
DEBUG_DISASM_SOURCE_FILE_NAME | Include the source file name in the output. |
Offset is the value of first entry in this array unless there was an error disassembling the instructions before this instruction. In this case, the first entry will contain DEBUG_ANY_ID and Offset will be placed in the second entry in the array (index one).
If the output for an instruction spans multiple lines, the element in the array that corresponds to the first line of the instruction will contain the address of the instruction.
If LineOffsets is NULL, this information is not returned.
This method can also return error values. See Return Values for more details.
OutputDisassemblyLines is available in all versions of IDebugControl.
The assembly language depends on the effective processor type of the target system. For information about the assembly language, see the processor documentation.
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.
Headers: Defined in Dbgeng.h. Include Dbgeng.h.