IDebugControl3::OutputDisassemblyLines メソッド (dbgeng.h)
OutputDisassemblyLines メソッドは、いくつかのプロセッサ命令を逆アセンブルし、結果のアセンブリ命令を出力コールバックに送信します。
構文
HRESULT 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
);
パラメーター
[in] OutputControl
出力を受信するクライアントの出力コールバックを決定する出力コントロールを指定します。 使用可能な値については、「 DEBUG_OUTCTL_XXX」を参照してください。 出力の詳細については、「 入力と出力」を参照してください。
[in] PreviousLines
出力に含める Offset の命令の前の命令行数を指定します。 通常、各命令は 1 行で出力されます。 ただし、一部の命令では複数行の出力が必要な場合があります。これにより、 Offset の命令の前に出力される行数が PreviousLines より大きくなる可能性があります。
[in] TotalLines
出力に含める命令行の合計数を指定します。 通常、各命令は 1 行で出力されます。 ただし、一部の命令では複数行の出力が必要な場合があります。これにより、出力される行数が TotalLines を超える可能性があります。
[in] Offset
逆アセンブリする命令のターゲットのメモリ内の場所を指定します。 逆アセンブリ出力は、これらのプロセッサ命令の前に PreviousLines 行を開始します。
[in] Flags
このメソッドの動作に影響するビット フラグを指定します。 次の表に、設定できるビットの一覧を示します。
Bit-Flag | 設定時の効果 |
---|---|
DEBUG_DISASM_EFFECTIVE_ADDRESS | 現在のレジスタ情報から各命令の有効アドレスを計算し、出力します。 |
DEBUG_DISASM_MATCHING_SYMBOLS | 命令のアドレスに完全に一致するシンボルがある場合は、シンボルを出力します。 |
DEBUG_DISASM_SOURCE_LINE_NUMBER | 出力に各命令のソース行番号を含めます。 |
DEBUG_DISASM_SOURCE_FILE_NAME | 出力にソース ファイル名を含めます。 |
[out, optional] OffsetLine
Offset の命令を含む出力の行番号を受け取 ります。 OffsetLine が NULL の場合、この情報は返されません。
[out, optional] StartOffset
出力に含まれる最初の命令のターゲットのメモリ内の場所を受け取ります。 StartOffset が NULL の場合、この情報は返されません。
[out, optional] EndOffset
最後に逆アセンブルされた命令に続く命令のターゲットのメモリ内のロケイトンを受け取ります。
[out, optional] LineOffsets
Offset の命令から始まる出力に含まれる命令のターゲットのメモリ内の場所を受け取 ります。 LineOffsets は、 TotalLines 要素を含む配列です。
Offset は、この命令の前に命令を逆アセンブルするエラーがない限り、この配列内の最初のエントリの値です。 この場合、最初のエントリにはDEBUG_ANY_IDが含まれており、 Offset は配列の 2 番目のエントリ (インデックス 1) に配置されます。
命令の出力が複数行にまたがる場合、命令の最初の行に対応する配列内の要素には命令のアドレスが含まれます。
LineOffsets が NULL の場合、この情報は返されません。
戻り値
このメソッドは、エラー値を返すこともできます。 詳細については、「 戻り値 」を参照してください。
リターン コード | 説明 |
---|---|
|
メソッドは正常に実行されました。 |
注釈
アセンブリ言語は、ターゲット システムの有効なプロセッサの種類によって異なります。 アセンブリ言語の詳細については、プロセッサのドキュメントを参照してください。
デバッガー アプリケーションでのアセンブリの使用の概要については、「 アセンブリ モードでのデバッグ」を参照してください。 デバッガー エンジン API でアセンブリを使用する方法の詳細については、「 アセンブリと逆アセンブルの手順」を参照してください。
要件
要件 | 値 |
---|---|
対象プラットフォーム | デスクトップ |
Header | dbgeng.h (Dbgeng.h を含む) |