共用方式為


SYMBOL_INFO結構 (dbghelp.h)

包含符號資訊。

語法

typedef struct _SYMBOL_INFO {
  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;
  CHAR    Name[1];
} SYMBOL_INFO, *PSYMBOL_INFO;

成員

SizeOfStruct

結構的大小,以位元組為單位。 這個成員必須設定為 sizeof(SYMBOL_INFO)。 請注意,資料的總大小是 SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR)。 減去其中一個字元的原因是名稱中的第一個字元會考慮結構的大小。

TypeIndex

可識別描述符號之型別數據的唯一值。 此值不會在會話之間保存。

Reserved[2]

此成員保留供系統使用。

Index

符號的唯一值。 每次執行進程時,與符號相關聯的值不保證相同。

針對 PDB 符號,除非依名稱或位址列舉或擷取符號,否則不會產生符號的索引值。 載入符號時,會產生所有 CodeView 和 COFF 符號的索引值。

Size

如果符號是位位元組成員) ,則符號大小會以位元組為單位 (或位。

只有當模組符號來自 pdb 檔案時,這個值才有意義;否則,這個值通常是零,而且應該忽略。

ModBase

包含符號之模組的基位址。

Flags

這個成員可以是下列一或多個值。

意義
SYMFLAG_CLR_TOKEN
0x00040000
符號是 CLR 令牌。
SYMFLAG_CONSTANT
0x00000100
符號是常數。
SYMFLAG_EXPORT
0x00000200
符號來自導出數據表。
SYMFLAG_FORWARDER
0x00000400
符號是轉寄站。
SYMFLAG_FRAMEREL
0x00000020
位移是相對的框架。
SYMFLAG_FUNCTION
0x00000800
符號是已知的函式。
SYMFLAG_ILREL
0x00010000
符號位址是相對於中繼語言區塊開頭的位移。 這僅適用於Managed程式代碼。
SYMFLAG_LOCAL
0x00000080
符號是局部變數。
SYMFLAG_METADATA
0x00020000
符號是Managed元數據。
SYMFLAG_PARAMETER
0x00000040
符號是參數。
SYMFLAG_REGISTER
0x00000008
符號是緩存器。 使用 Register 成員。
SYMFLAG_REGREL
0x00000010
位移是相對的緩存器。
SYMFLAG_SLOT
0x00008000
符號是Managed程式代碼位置。
SYMFLAG_THUNK
0x00002000
符號是 Thunk。
SYMFLAG_TLSREL
0x00004000
符號是 TLS 資料區域的位移。
SYMFLAG_VALUEPRESENT
0x00000001
使用 Value 成員。
SYMFLAG_VIRTUAL
0x00001000
符號是由 SymAddSymbol 函式所建立的虛擬符號。

Value

常數的值。

Address

符號開頭的虛擬位址。

Register

緩存器。

Scope

DIA 範圍。 如需詳細資訊,請參閱 Visual Studio 檔中的 偵錯介面存取 SDK 。 (某些語言可能無法使用此資源

和國家/地區.)

Tag

PDB 分類。 這些值定義於 SymTagEnum 列舉類型的 Dbghelp.h 中。

NameLen

名稱的長度,以字元為單位,不包含 Null 終止字元。

MaxNameLen

Name 緩衝區的大小,以字元為單位。 如果此成員為 0,則不會使用 Name 成員。

Name[1]

符號的名稱。 如果SYMOPT_UNDNAME選項與 SymSetOptions 函式搭配使用,則可以取消命名。

規格需求

需求
標頭 dbghelp.h
可轉散發套件 DbgHelp.dll 5.1 或更新版本

另請參閱

SymEnumSymbolsProc

SymFromAddr

SymFromName

SymGetTypeFromName