SYMBOL_INFOW 構造体 (dbghelp.h)
シンボル情報を格納します。
構文
typedef struct _SYMBOL_INFOW {
ULONG SizeOfStruct;
ULONG TypeIndex;
ULONG64 Reserved[2];
ULONG Index;
ULONG Size;
ULONG64 ModBase;
ULONG Flags;
ULONG64 Value;
ULONG64 Address;
ULONG Register;
ULONG Scope;
ULONG Tag;
ULONG NameLen;
ULONG MaxNameLen;
WCHAR Name[1];
} SYMBOL_INFOW, *PSYMBOL_INFOW;
メンバー
SizeOfStruct
この構造体のサイズ (バイト単位)。 このメンバーは に設定する sizeof(SYMBOL_INFO)
必要があります。 データの合計サイズは であることに注意してください SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR)
。 1 を減算する理由は、名前の最初の文字が構造体のサイズで考慮されるためです。
TypeIndex
シンボルを記述する型データを識別する一意の値。 この値はセッション間で保持されません。
Reserved[2]
このメンバーは、システム使用のために予約されています。
Index
シンボルの一意の値。 シンボルに関連付けられている値は、プロセスを実行するたびに同じであるとは限りません。
PDB シンボルの場合、シンボルのインデックス値は、名前またはアドレスによる検索によってシンボルが列挙または取得されるまで生成されません。 すべての CodeView シンボルと COFF シンボルのインデックス値は、シンボルが読み込まれるときに生成されます。
Size
シンボル サイズ (バイト単位)。 この値は、モジュール シンボルが pdb ファイルからの場合にのみ意味があります。それ以外の場合、この値は通常 0 であり、無視する必要があります。
ModBase
シンボルを含むモジュールのベース アドレス。
Flags
このメンバーには、次の値の 1 つ以上を指定できます。
値 | 意味 |
---|---|
|
シンボルは CLR トークンです。 |
|
シンボルは定数です。 |
|
シンボルはエクスポート テーブルのシンボルです。 |
|
シンボルはフォワーダーです。 |
|
オフセットはフレーム相対値です。 |
|
シンボルは既知の関数です。 |
|
シンボル アドレスは、中間言語ブロックの先頭を基準としたオフセットです。 これはマネージド コードにのみ適用されます。 |
|
シンボルはローカル変数です。 |
|
シンボルは管理されたメタデータです。 |
|
シンボルはパラメーターです。 |
|
シンボルはレジスタです。 Register メンバーが使用されます。 |
|
オフセットはレジスタの相対値です。 |
|
シンボルはマネージド コード スロットです。 |
|
記号はサンクです。 |
|
シンボルは、TLS データ領域へのオフセットです。 |
|
Value メンバーが使用されます。 |
|
シンボルは、 SymAddSymbol 関数によって作成された仮想シンボルです。 |
Value
定数の値。
Address
シンボルの先頭の仮想アドレス。
Register
レジスタ。
Scope
DIA スコープ。 詳細については、Visual Studio のドキュメントの 「Debug Interface Access SDK 」を参照してください。 (このリソースは、一部の言語では使用できない場合があります
国)を参照してください。
Tag
PDB 分類。 これらの値は、 SymTagEnum 列挙型の Dbghelp.h で定義されます。
NameLen
null で終わる文字を含まない、名前の長さ (文字単位)。
MaxNameLen
Name バッファーのサイズ (文字数)。 このメンバーが 0 の場合、 Name メンバーは使用されません。
Name[1]
記号の名前。 SYMOPT_UNDNAME オプションを SymSetOptions 関数と共に使用すると、名前を解除できます。
注釈
注意
dbghelp.h ヘッダーは、SYMBOL_INFOをエイリアスとして定義します。これは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
Header | dbghelp.h |
再頒布可能パッケージ | DbgHelp.dll 5.1 以降 |