estrutura SYMBOL_INFO (dbghelp.h)
Contém informações de símbolo.
Sintaxe
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;
Membros
SizeOfStruct
O tamanho da estrutura em bytes. Esse membro deve ser definido como sizeof(SYMBOL_INFO)
. Observe que o tamanho total dos dados é o SizeOfStruct + (MaxNameLen - 1) * sizeof(TCHAR)
. O motivo para subtrair um é que o primeiro caractere no nome é contabilizado no tamanho da estrutura.
TypeIndex
Um valor exclusivo que identifica os dados de tipo que descrevem o símbolo. Esse valor não persiste entre as sessões.
Reserved[2]
Esse membro é reservado para uso do sistema.
Index
O valor exclusivo para o símbolo. Não há garantia de que o valor associado a um símbolo seja o mesmo sempre que você executar o processo.
Para símbolos PDB, o valor de índice de um símbolo não é gerado até que o símbolo seja enumerado ou recuperado por meio de uma pesquisa por nome ou endereço. Os valores de índice para todos os símbolos CodeView e COFF são gerados quando os símbolos são carregados.
Size
O tamanho do símbolo, em bytes (ou bits, se o símbolo for um membro bitfield).
Esse valor só será significativo se os símbolos do módulo forem de um arquivo pdb; caso contrário, esse valor normalmente é zero e deve ser ignorado.
ModBase
O endereço base do módulo que contém o símbolo.
Flags
Esse membro pode ser um ou mais dos valores a seguir.
Valor | Significado |
---|---|
|
O símbolo é um token CLR. |
|
O símbolo é uma constante. |
|
O símbolo é da tabela de exportação. |
|
O símbolo é um encaminhador. |
|
Os deslocamentos são relativos ao quadro. |
|
O símbolo é uma função conhecida. |
|
O endereço do símbolo é um deslocamento relativo ao início do bloco de idioma intermediário. Isso se aplica somente ao código gerenciado. |
|
O símbolo é uma variável local. |
|
O símbolo é metadados gerenciados. |
|
O símbolo é um parâmetro. |
|
O símbolo é um registro. O membro Register é usado. |
|
Os deslocamentos são relativos ao registro. |
|
O símbolo é um slot de código gerenciado. |
|
O símbolo é um thunk. |
|
O símbolo é um deslocamento para a área de dados TLS. |
|
O membro Value é usado. |
|
O símbolo é um símbolo virtual criado pela função SymAddSymbol . |
Value
O valor de uma constante.
Address
O endereço virtual do início do símbolo.
Register
O registro.
Scope
O escopo DIA. Para obter mais informações, consulte o SDK de Acesso à Interface de Depuração na documentação do Visual Studio. (Esse recurso pode não estar disponível em alguns idiomas
e países.)
Tag
A classificação do PDB. Esses valores são definidos em Dbghelp.h no tipo de enumeração SymTagEnum .
NameLen
O comprimento do nome, em caracteres, não incluindo o caractere de terminação nula.
MaxNameLen
O tamanho do buffer Nome , em caracteres. Se esse membro for 0, o membro Name não será usado.
Name[1]
O nome do símbolo. O nome poderá ser não corrigido se a opção SYMOPT_UNDNAME for usada com a função SymSetOptions .
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | dbghelp.h |
Redistribuível | DbgHelp.dll 5.1 ou posterior |