SYMBOL_INFO struttura (dbghelp.h)
Contiene informazioni sui simboli.
Sintassi
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;
Members
SizeOfStruct
Dimensioni della struttura, in byte. Questo membro deve essere impostato su sizeof(SYMBOL_INFO)
. Si noti che la dimensione totale dei dati è .SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR)
Il motivo per sottraerne uno è che il primo carattere nel nome è tenuto conto delle dimensioni della struttura.
TypeIndex
Valore univoco che identifica i dati di tipo che descrivono il simbolo. Questo valore non persiste tra le sessioni.
Reserved[2]
Questo membro è riservato per l'uso del sistema.
Index
Valore univoco per il simbolo. Il valore associato a un simbolo non è garantito essere lo stesso ogni volta che si esegue il processo.
Per i simboli PDB, il valore di indice per un simbolo non viene generato finché il simbolo non viene enumerato o recuperato tramite una ricerca per nome o indirizzo. I valori di indice per tutti i simboli CodeView e COFF vengono generati quando vengono caricati i simboli.
Size
Dimensione del simbolo, in byte (o bit, se il simbolo è un membro del campo di bit).
Questo valore è significativo solo se i simboli del modulo provengono da un file pdb; in caso contrario, questo valore è in genere zero e deve essere ignorato.
ModBase
Indirizzo di base del modulo contenente il simbolo.
Flags
Questo membro può essere uno o più dei valori seguenti.
Valore | Significato |
---|---|
|
Il simbolo è un token CLR. |
|
Il simbolo è una costante. |
|
Il simbolo proviene dalla tabella di esportazione. |
|
Il simbolo è un inoltro. |
|
Gli offset sono relativi al frame. |
|
Il simbolo è una funzione nota. |
|
L'indirizzo del simbolo è un offset relativo all'inizio del blocco di linguaggio intermedio. Questo vale solo per il codice gestito. |
|
Il simbolo è una variabile locale. |
|
Il simbolo è metadati gestiti. |
|
Il simbolo è un parametro. |
|
Il simbolo è un registro. Viene usato il membro Register . |
|
Gli offset sono relativi al registro. |
|
Il simbolo è uno slot di codice gestito. |
|
Il simbolo è un thunk. |
|
Il simbolo è un offset nell'area dati TLS. |
|
Viene usato il membro Value . |
|
Il simbolo è un simbolo virtuale creato dalla funzione SymAddSymbol . |
Value
Valore di una costante.
Address
Indirizzo virtuale dell'inizio del simbolo.
Register
Registro.
Scope
Ambito DIA. Per altre informazioni, vedere Debug Interface Access SDK nella documentazione di Visual Studio. Questa risorsa potrebbe non essere disponibile in alcune lingue
e paesi.)
Tag
Classificazione PDB. Questi valori sono definiti in Dbghelp.h nel tipo di enumerazione SymTagEnum .
NameLen
Lunghezza del nome, in caratteri, non incluso il carattere null-terminazione.
MaxNameLen
Dimensioni del buffer Name , in caratteri. Se questo membro è 0, il membro Name non viene usato.
Name[1]
Nome del simbolo. Il nome può essere nondecorato se l'opzione SYMOPT_UNDNAME viene usata con la funzione SymSetOptions .
Requisiti
Requisito | Valore |
---|---|
Intestazione | dbghelp.h |
Componente ridistribuibile | DbgHelp.dll 5.1 o versioni successive |