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
這個成員可以是下列一或多個值。
值 | 意義 |
---|---|
|
符號是 CLR 令牌。 |
|
符號是常數。 |
|
符號來自導出數據表。 |
|
符號是轉寄站。 |
|
位移是相對的框架。 |
|
符號是已知的函式。 |
|
符號位址是相對於中繼語言區塊開頭的位移。 這僅適用於Managed程式代碼。 |
|
符號是局部變數。 |
|
符號是Managed元數據。 |
|
符號是參數。 |
|
符號是緩存器。 使用 Register 成員。 |
|
位移是相對的緩存器。 |
|
符號是Managed程式代碼位置。 |
|
符號是 Thunk。 |
|
符號是 TLS 資料區域的位移。 |
|
使用 Value 成員。 |
|
符號是由 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 或更新版本 |