Partilhar via


Símbolos e marcas de símbolos

Informações de depuração sobre um programa compilado são armazenadas no arquivo de banco de dados (. PDB) de programa, como símbolos que podem ser acessados usando as APIs do SDK do Debug Interface Access (DIA). Todos os símbolos têm um IDiaSymbol::get_symTag e um IDiaSymbol::get_symIndexId propriedade. O symTag propriedade indica o tipo de símbolo, conforme definido pela SymTagEnum enumeração. O symIndexId propriedade é um DWORD valor que contém o identificador exclusivo para cada instância de um símbolo.

Símbolos também têm propriedades que podem especificar informações adicionais sobre o símbolo, bem como referências a outros símbolos, com freqüência um IDiaSymbol::get_lexicalParent ou IDiaSymbol::get_classParent. Quando você consulta uma propriedade que contém uma referência, a referência é retornada como um IDiaSymbol objeto. Tais propriedades são sempre combinadas com outra propriedade com o mesmo nome mas suffixed com "Id", por exemplo, IDiaSymbol::get_lexicalParentId e IDiaSymbol::get_classParentId. As tabelas no Locais de símbolos, Hierarquia lexical de tipos de símbolos, e Hierarquia de classes de tipos de símbolos as propriedades de estrutura de tópicos para cada um dos diferentes tipos de símbolos. Essas propriedades podem ter informações relevantes sobre ou referências a outros símbolos. Porque o *Id propriedades são identificadores de ordinais simplesmente numéricos de suas propriedades relacionadas, eles são omitidos de discussões ainda mais. Eles são chamados somente onde são necessárias para fins de esclarecimento de parâmetro.

Ao tentar acessar a propriedade, se nenhum erro ocorrer e a propriedade de símbolo foi atribuída um valor, a propriedade "get" método retorna S_OK. Um valor de retorno de S_FALSE indica que a propriedade não é válida para o símbolo atual.

Nesta seção

Consulte também

Outros recursos

SDK de Acesso à Interface de Depuração