次の方法で共有


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

逆アセンブルされた命令を受け取ります。 BufferNULL の場合、この情報は返されません。

[in] BufferSize

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

[out, optional] DisassemblySize

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

[out] EndOffset

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

戻り値

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

リターン コード 説明
S_OK
メソッドは正常に実行されました。
S_FALSE
メソッドは正常に実行されました。 ただし、 Buffer が小さすぎて逆アセンブルされた命令を保持できず、命令が収まるように切り捨てられました。

注釈

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

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

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

要件

要件
対象プラットフォーム デスクトップ
Header dbgeng.h (Dbgeng.h を含む)

こちらもご覧ください

アセンブル

GetAssemblyOptions

IDebugControl

IDebugControl2

IDebugControl3

u (逆アセンブル)