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
逆アセンブルされた命令に続く命令のターゲットのメモリ内の場所を受け取ります。
戻り値
このメソッドは、エラー値を返すこともできます。 詳細については、「 戻り値 」を参照してください。
リターン コード | 説明 |
---|---|
|
メソッドは正常に実行されました。 |
|
メソッドは正常に実行されました。 ただし、 Buffer が小さすぎて逆アセンブルされた命令を保持できず、命令が収まるように切り捨てられました。 |
注釈
アセンブリ言語は、ターゲット システムの有効なプロセッサの種類によって異なります。 アセンブリ言語の詳細については、プロセッサのドキュメントを参照してください。
GetAssemblyOptions によって返される逆アセンブリ オプションは、このメソッドの操作に影響します。
デバッガー アプリケーションでのアセンブリの使用の概要については、「 アセンブリ モードでのデバッグ」を参照してください。 デバッガー エンジン API でアセンブリを使用する方法の詳細については、「 アセンブリと逆アセンブルの手順」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dbgeng.h (Dbgeng.h を含む) |