次の方法で共有


IDebugAdvanced3::GetSymbolInformation メソッド (dbgeng.h)

GetSymbolInformation メソッドは、シンボルに関する指定された情報を返します。

構文

HRESULT GetSymbolInformation(
  [in]            ULONG   Which,
  [in]            ULONG64 Arg64,
  [in]            ULONG   Arg32,
  [out, optional] PVOID   Buffer,
  [in]            ULONG   BufferSize,
  [out, optional] PULONG  InfoSize,
  [out, optional] PSTR    StringBuffer,
  [in]            ULONG   StringBufferSize,
  [out, optional] PULONG  StringSize
);

パラメーター

[in] Which

返す情報の一部を指定します。 これは 、次の表のいずれかの値を受け取ることができます。

返される情報
DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE 指定したブレークポイントのソース コード ファイル名と行番号を返します。 行番号は、ULONG として Buffer に返されます。 ファイル名は StringBuffer に返されます。
DEBUG_SYMINFO_IMAGEHLP_MODULEW64 指定したモジュールを記述するIMAGEHLP_MODULEW64構造体を返します。 この構造の詳細については、デバッグ ヘルプ ライブラリのドキュメント (dbghelp.chm) のIMAGEHLP_MODULE64トピックを参照してください。

文字列は返されず、 StringBufferStringBufferSizeおよび StringSize はすべて 0 に設定する必要があります。

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE メモリ内の場所と PDB タグの種類で指定されたシンボルの Unicode 名を返します。 名前は Buffer に返されます。 StringBuffer は使用されません。
DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS 指定した PDB タグの種類を持つ指定したモジュール内のシンボルのシンボル名とオフセットの一覧を返します。 オフセットは、ULONG 値の配列として Buffer に返 されます。 名前は、 StringBuffer へのオフセットと同じ順序で返されます。 注釈には複数部構成の名前を含めることができるため、一部の名前には埋め込みゼロが含まれる場合があります。したがって、各名前は 2 つの null 文字で終了します。

[in] Arg64

64 ビット引数を指定します。 このパラメーターは、Which の値に応じて次の解釈 を行います

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

無視されます。

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

説明が要求されているモジュールのベース アドレス。

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

名前が要求されているシンボルのターゲットのメモリ内のアドレスを指定します。

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

シンボルが要求されるモジュールを指定します。 Arg64 は、モジュールのメモリ割り当て内の場所です。

[in] Arg32

32 ビット引数を指定します。 このパラメーターは、Which の値に応じて次の解釈 を行います

DEBUG_SYMINFO_BREAKPOINT_SOURCE_LINE

目的のブレークポイントのエンジン ブレークポイント ID。

DEBUG_SYMINFO_IMAGEHLP_MODULEW64

0 に設定します。

DEBUG_SYMINFO_GET_SYMBOL_NAME_BY_OFFSET_AND_TAG_WIDE

シンボルの PDB 分類。 Arg32 は、Dbghelp.h で定義されている SymTagEnum 列挙の値のいずれかである必要があります。 詳細については、PDB のドキュメントを参照してください。

DEBUG_SYMINFO_GET_MODULE_SYMBOL_NAMES_AND_OFFSETS

シンボルの PDB 分類。 Arg32 は、Dbghelp.h で定義されている SymTagEnum 列挙の値のいずれかである必要があります。 詳細については、PDB のドキュメントを参照してください。

[out, optional] Buffer

要求されたシンボル情報を受け取ります。 返されるデータの型は、 Which の値によって異なります。 BufferNULL の場合、この情報は返されません。

[in] BufferSize

バッファー バッファーのサイズをバイト単位で指定 します

[out, optional] InfoSize

このメソッドが S_OKを返す場合、 InfoSizeBuffer に返されるシンボル情報のサイズをバイト単位で受け取ります。 このメソッドが S_FALSEを返す場合、指定されたバッファーの大きさが十分ではなく、 InfoSize は必要なバッファー サイズを受け取ります。 InfoSizeNULL の場合、この情報は返されません。

[out, optional] StringBuffer

要求された文字列を受け取ります。 この文字列の解釈は、 Which の値によって異なります。 StringBufferNULL の場合、この情報は返されません。

[in] StringBufferSize

文字列バッファー StringBuffer のサイズを文字単位で指定します。

[out, optional] StringSize

StringBuffer に返される文字列のサイズを文字単位で受け取ります。 StringSizeNULL の場合、この情報は返されません。

戻り値

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

リターン コード 説明
S_OK
メソッドは正常に実行されました。
S_FALSE
メソッドは正常に実行されました。 ただし、情報が バッファー バッファー に収まらないか、文字列がバッファー StringBuffer に収まらないため、情報または名前が切り捨てられました。

要件

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