IDebugSymbols3::GetSourceEntriesByLineWide メソッド (dbgeng.h)
GetSourceEntriesByLineWide メソッドはシンボル情報を照会し、ソース ファイル内の行に対応するターゲットのメモリ内の場所を返します。
構文
HRESULT GetSourceEntriesByLineWide(
[in] ULONG Line,
[in] PCWSTR File,
[in] ULONG Flags,
[out, optional] PDEBUG_SYMBOL_SOURCE_ENTRY Entries,
[in] ULONG EntriesCount,
[out, optional] PULONG EntriesAvail
);
パラメーター
[in] Line
クエリ対象のソース ファイル内の行を指定します。 最初の行の番号は 1 です。
[in] File
ソース ファイルを指定します。 ターゲット内の各モジュールのシンボルは、このファイルに対して照会されます。
[in] Flags
このメソッドの動作を制御するビット フラグを指定します。 Flags は、次の表の値を任意に組み合わせて使用できます。
価値 | 形容 |
---|---|
DEBUG_GSEL_NO_SYMBOL_LOADS |
デバッガー エンジン は、シンボルが既に読み込まれているモジュール間でのみファイルを検索します。 他のモジュールのシンボルは読み込まれません。
このオプションが設定されていない場合、デバッガー エンジンは、ファイルで指定されたファイルが見つかるまで、すべてのモジュールのシンボルを読み込みます。 |
DEBUG_GSEL_ALLOW_LOWER | 結果に行 を する前に、すべての行を File に含めます。 |
DEBUG_GSEL_ALLOW_HIGHER | 結果の行 の後 ファイル のすべての行 含めます。 |
DEBUG_GSEL_NEAREST_ONLY | 返される結果は最大 1 つだけです。 DEBUG_GSEL_ALLOW_LOWERまたはDEBUG_GSEL_ALLOW_HIGHERが設定されている場合、返される結果は Line に近い行になりますが、その行のシンボル情報がない場合は、行 することはできません。 |
既定のフラグ セットを使用するには、Flags を DEBUG_GSEL_DEFAULT に設定します。 これにより、前の表のすべてのフラグがオフになります。
[out, optional] Entries
クエリ対象のソース行に対応するターゲットのメモリ内の場所を受け取ります。 この配列内の各エントリは DEBUG_SYMBOL_SOURCE_ENTRY 型であり、ソース行番号とターゲットのメモリ内の場所が含まれます。
[in] EntriesCount
Entries 配列内のエントリの数を指定します。
[out, optional] EntriesAvail
ターゲットのメモリ内で見つかったクエリと一致する場所の数を受け取ります。
戻り値
これらのメソッドは、エラー値を返すこともできます。 詳細については 戻り値の を参照してください。
リターン コード | 形容 |
---|---|
|
メソッドが成功しました。 |
|
メソッドが成功しました。 ただし、配列 エントリは、クエリに一致するすべての結果を保持するのに十分な大きさではなく、余分な結果は破棄されました。 |
|
クエリで結果が生成されていません。 これには、指定したファイルでシンボル情報が使用できなかった場合が含まれます。 |
備考
これらのメソッドは、ブレークポイントを設定したり、ソース コードと逆アセンブルされた命令を照合したりするために、デバッガー アプリケーションでターゲットのメモリ内の場所をフェッチするために使用できます。 たとえば、フラグのDEBUG_GSEL_ALLOW_HIGHERとDEBUG_GSEL_NEAREST_ONLYを設定すると、指定した行から始まる最初のコードのターゲットのメモリ位置が返されます。
ソース ファイルの詳細については、「ソース ファイル の使用」を参照してください。
必要条件
要件 | 価値 |
---|---|
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | dbgeng.h (Dbgeng.h を含む) |
関連項目
GetSourceFileLineOffsets の