次の方法で共有


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

逆アセンブルされた命令を受け取ります。 バッファー が NULL 場合、この情報は返されません。

[in] BufferSize

バッファー バッファーのサイズを文字数で指定します。

[out, optional] DisassemblySize

逆アセンブルされた命令のサイズを文字単位で受け取ります。 DisassemblySize が NULL 場合、この情報は返されません。

[out] EndOffset

逆アセンブルされた命令の後に、ターゲットの命令のメモリ内の場所を受け取ります。

戻り値

このメソッドは、エラー値を返すこともできます。 詳細については 戻り値の を参照してください。

リターン コード 形容
S_OK
メソッドが成功しました。
S_FALSE
メソッドが成功しました。 ただし、Buffer が小さすぎて逆アセンブルされた命令を保持できなくなっており、命令が切り捨てられ、収まっていました。

備考

アセンブリ言語は、ターゲット システムの有効なプロセッサの種類によって異なります。 アセンブリ言語の詳細については、プロセッサのドキュメントを参照してください。

GetAssemblyOptionsによって返される逆アセンブリ オプションは、このメソッドの操作に影響します。

デバッガー アプリケーションでのアセンブリの使用の概要については、「アセンブリ モードでのデバッグ 」を参照してください。 デバッガー エンジン API でアセンブリを使用する方法の詳細については、「アセンブリと逆アセンブルの手順」を参照してください。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー dbgeng.h (Dbgeng.h を含む)

関連項目

アセンブリ

GetAssemblyOptions

IDebugControl

IDebugControl2

IDebugControl3

u (組み立て)