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