estructura de SYMBOL_INFO (dbghelp.h)
Contiene información de símbolos.
Sintaxis
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;
Miembros
SizeOfStruct
El tamaño de la estructura en bytes. Este miembro debe establecerse en sizeof(SYMBOL_INFO)
. Tenga en cuenta que el tamaño total de los datos es .SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR)
El motivo para restar uno es que el primer carácter del nombre se tiene en cuenta en el tamaño de la estructura.
TypeIndex
Valor único que identifica los datos de tipo que describen el símbolo. Este valor no se conserva entre sesiones.
Reserved[2]
Este miembro está reservado para uso del sistema.
Index
Valor único del símbolo. No se garantiza que el valor asociado a un símbolo sea el mismo cada vez que ejecute el proceso.
En el caso de los símbolos de PDB, el valor de índice de un símbolo no se genera hasta que el símbolo se enumera o recupera a través de una búsqueda por nombre o dirección. Los valores de índice de todos los símbolos CodeView y COFF se generan cuando se cargan los símbolos.
Size
Tamaño del símbolo, en bytes (o bits, si el símbolo es un miembro de campo de bits).
Este valor solo es significativo si los símbolos del módulo proceden de un archivo pdb; de lo contrario, este valor suele ser cero y debe omitirse.
ModBase
Dirección base del módulo que contiene el símbolo.
Flags
Este miembro puede ser uno o varios de los valores siguientes.
Valor | Significado |
---|---|
|
El símbolo es un token CLR. |
|
El símbolo es una constante. |
|
El símbolo procede de la tabla de exportación. |
|
El símbolo es un reenviador. |
|
Los desplazamientos son relativos al marco. |
|
El símbolo es una función conocida. |
|
La dirección del símbolo es un desplazamiento relativo al principio del bloque de lenguaje intermedio. Esto solo se aplica al código administrado. |
|
El símbolo es una variable local. |
|
El símbolo es metadatos administrados. |
|
El símbolo es un parámetro. |
|
El símbolo es un registro. Se usa el miembro Register . |
|
Los desplazamientos son relativos al registro. |
|
El símbolo es una ranura de código administrado. |
|
El símbolo es un thunk. |
|
El símbolo es un desplazamiento en el área de datos TLS. |
|
Se usa el miembro Value . |
|
El símbolo es un símbolo virtual creado por la función SymAddSymbol . |
Value
Valor de una constante.
Address
Dirección virtual del inicio del símbolo.
Register
Registro.
Scope
Ámbito DIA. Para obtener más información, consulte el SDK de Acceso a la interfaz de depuración en la documentación de Visual Studio. (Es posible que este recurso no esté disponible en algunos idiomas
y países).
Tag
Clasificación de PDB. Estos valores se definen en Dbghelp.h en el tipo de enumeración SymTagEnum .
NameLen
Longitud del nombre, en caracteres, no incluido el carácter de terminación null.
MaxNameLen
Tamaño del búfer Nombre , en caracteres. Si este miembro es 0, no se usa el miembro Name .
Name[1]
Nombre del símbolo. El nombre se puede descodificar si se usa la opción SYMOPT_UNDNAME con la función SymSetOptions .
Requisitos
Requisito | Valor |
---|---|
Header | dbghelp.h |
Redistribuible | DbgHelp.dll 5.1 o posterior |