次の方法で共有


IDebugSymbols3::GetOffsetByName メソッド (dbgeng.h)

GetOffsetByName メソッドは、名前で識別されるシンボルの場所を返します。

構文

HRESULT GetOffsetByName(
  [in]  PCSTR    Symbol,
  [out] PULONG64 Offset
);

パラメーター

[in] Symbol

検索するシンボルの名前を指定します。 名前は、モジュール名 (たとえば、mymodule!メイン) で修飾できます。

[out] Offset

シンボルのメモリ割り当てのベースのターゲットのメモリ アドレス空間内の場所を受け取ります。

戻り値

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

リターン コード 説明
S_OK
メソッドは正常に実行されました。
S_FALSE
メソッドは正常に実行されました。 ただし、 シンボル という名前は一意ではなく、その名前を持つ複数のシンボルが見つかりました。 これらの記号の 1 つが任意に選択され、返されました。
E_FAIL
指定した名前のシンボルが見つかりませんでした。

注釈

Symbol という名前が一意ではなく、GetOffsetByName がその名前を持つ複数のシンボルを見つけた場合、あいまいさは任意に解決されます。 この場合、S_FALSE値が返されます。 StartSymbolMatch を使用して検索を開始し、目的の結果を特定できます。

GetNameByOffset では、パターン マッチング (ワイルドカードなど) はサポートされていません。 パターン マッチングを使用してシンボルを検索するには 、StartSymbolMatch を使用します。

シンボルのモジュール名がわかっている場合は、シンボル名をモジュール名で修飾することをお勧めします。 それ以外の場合、エンジンは一致するものが見つかるまで、すべてのモジュールのシンボルを検索します。多くのモジュールのシンボル ファイルを読み込む必要がある場合、これには長い時間がかかる場合があります。 シンボル名がモジュール名で修飾されている場合、エンジンはそのモジュールのシンボルのみを検索します。

シンボルとシンボル名の詳細については、「 シンボル」を参照してください。

要件

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

こちらもご覧ください

GetNameByOffset

IDebugSymbols

IDebugSymbols2

IDebugSymbols3