IDebugControl3::D isassemble 方法 (dbgeng.h)
反汇编方法在目标内存中反汇编处理器指令。
语法
HRESULT Disassemble(
[in] ULONG64 Offset,
[in] ULONG Flags,
[out, optional] PSTR Buffer,
[in] ULONG BufferSize,
[out, optional] PULONG DisassemblySize,
[out] PULONG64 EndOffset
);
参数
[in] Offset
指定要反汇编的指令的目标内存中的位置。
[in] Flags
指定影响此方法行为的位标志。 目前唯一可以设置的标志是DEBUG_DISASM_EFFECTIVE_ADDRESS;设置后,引擎将从当前寄存器信息中计算有效地址并显示它。
[out, optional] Buffer
接收反汇编指令。 如果 Buffer 为 NULL,则不会返回此信息。
[in] BufferSize
指定 缓冲区 的大小(以字符为单位)。
[out, optional] DisassemblySize
接收反汇编指令的大小(以字符为单位)。 如果 DisassemblySize 为 NULL,则不会返回此信息。
[out] EndOffset
按照反汇编指令接收目标内存中指令的位置。
返回值
此方法还可以返回错误值。 有关更多详细信息 ,请参阅返回值 。
返回代码 | 说明 |
---|---|
|
方法成功。 |
|
方法成功。 但是, 缓冲区 太小,无法容纳反汇编的指令,并且指令被截断以适应。 |
注解
程序集语言取决于目标系统的有效处理器类型。 有关汇编语言的信息,请参阅处理器文档。
由 GetAssemblyOptions 返回的反汇编选项会影响此方法的操作。
有关在调试器应用程序中使用程序集的概述,请参阅 在程序集模式下调试。 有关将程序集与调试器引擎 API 配合使用的详细信息,请参阅 汇编和反汇编说明。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | dbgeng.h (包括 Dbgeng.h) |