Compartilhar via


IDiaSymbol

Descreve as propriedades de uma instância de símbolo.

Sintaxe

IDiaSymbol : IUnknown

Métodos em ordem alfabética

A tabela a seguir mostra os métodos de IDiaSymbol.

Observação

Os símbolos retornarão dados significativos para apenas alguns desses métodos, dependendo do tipo de símbolo. Se um método retornar S_OK, esse método retornará dados significativos. Para obter uma lista de tipos de símbolos, consulte Hierarquia Lexical de Tipos de Símbolo.

Método Descrição
IDiaSymbol::findChildren Recupera todos os filhos do símbolo.
IDiaSymbol::findChildrenEx Recupera os filhos do símbolo. Esse método é a versão estendida de IDiaSymbol::findChildren.
IDiaSymbol::findChildrenExByAddr Recupera os filhos do símbolo que são válidos em um endereço especificado.
IDiaSymbol::findChildrenExByRVA Recupera os filhos do símbolo que são válidos em um RVA (endereço virtual relativo) especificado.
IDiaSymbol::findChildrenExByVA Recupera os filhos do símbolo que são válidos em um endereço virtual especificado.
IDiaSymbol::findInlineeLines Recupera uma enumeração que permite que um cliente itere por meio das informações de número de linha de todas as funções que estão embutidas, direta ou indiretamente, nesse símbolo.
IDiaSymbol::findInlineeLinesByAddr Recupera uma enumeração que permite que um cliente itere por meio das informações de número de linha de todas as funções embutidas, direta ou indiretamente, nesse símbolo dentro do intervalo de endereços especificado.
IDiaSymbol::findInlineeLinesByRVA Recupera uma enumeração que permite que um cliente itere por meio das informações de número de linha de todas as funções que estão embutidas, direta ou indiretamente, nesse símbolo dentro do RVA (endereço virtual relativo) especificado.
IDiaSymbol::findInlineeLinesByVA Recupera uma enumeração que permite que um cliente itere por meio das informações de número de linha de todas as funções que estão embutidas, direta ou indiretamente, nesse símbolo dentro do VA (endereço virtual) especificado.
IDiaSymbol::findInlineFramesByAddr Recupera uma enumeração que permite que um cliente itere por todos os quadros embutidos em um determinado endereço.
IDiaSymbol::findInlineFramesByRVA Recupera uma enumeração que permite que um cliente itere por todos os quadros embutidos em um RVA (endereço virtual relativo) especificado.
IDiaSymbol::findInlineFramesByVA Recupera uma enumeração que permite que um cliente itere por todos os quadros embutidos em um VA (endereço virtual) especificado.
IDiaSymbol::findInputAssemblyFile Recupera o arquivo de assembly de entrada nativo do .NET que é o pai do símbolo.
IDiaSymbol::findSymbolsByRVAForAcceleratorPointerTag Dado um valor de marca correspondente, esse método retorna uma enumeração de símbolos contidos nessa função stub em um endereço virtual relativo especificado.
IDiaSymbol::findSymbolsForAcceleratorPointerTag Retorna o número de marcas de ponteiro do acelerador em uma função de stub do AMP do C++.
IDiaSymbol::get_acceleratorPointerTags Retorna todos os valores de marca de ponteiro do acelerador que correspondem a uma função de stub do acelerador AMP do C++.
IDiaSymbol::get_access Recupera o modificador de acesso de um membro de classe.
IDiaSymbol::get_addressOffset Recupera a parte de deslocamento de um local de endereço.
IDiaSymbol::get_addressSection Recupera a parte da seção de um local de endereço.
IDiaSymbol::get_addressTaken Recupera um sinalizador que indica se outro símbolo faz referência a esse endereço.
IDiaSymbol::get_age Recupera o valor de idade de um banco de dados do programa.
IDiaSymbol::get_arrayIndexType Recupera o identificador de símbolo do tipo de índice de matriz.
IDiaSymbol::get_arrayIndexTypeId Recupera o identificador de tipo de índice de matriz do símbolo.
IDiaSymbol::get_backEndBuild Recupera o número de build de back-end.
IDiaSymbol::get_backEndMajor Recupera o número de versão principal do back-end.
IDiaSymbol::get_backEndMinor Recupera o número de versão secundária de back-end.
IDiaSymbol::get_backEndQFE Recupera o número qfe de back-end.
IDiaSymbol::get_baseDataOffset Recupera o deslocamento de dados base.
IDiaSymbol::get_baseDataSlot Recupera o slot de dados base.
IDiaSymbol::get_baseSymbol Recupera o símbolo do qual o ponteiro se baseia.
IDiaSymbol::get_baseSymbolId Recupera a ID do símbolo da qual o ponteiro se baseia.
IDiaSymbol::get_baseType Recupera a marca de tipo de um tipo simples.
IDiaSymbol::get_bindID Recupera o índice de registro de associação.
IDiaSymbol::get_bindSlot Recupera o limite inferior no espaço de associação.
IDiaSymbol::get_bindSpace Recupera o espaço de associação.
IDiaSymbol::get_bitPosition Recupera a posição de bit de um local.
IDiaSymbol::get_builtInKind Recupera um tipo interno do tipo HLSL.
IDiaSymbol::get_callingConvention Retorna um indicador da convenção de chamada de um método.
IDiaSymbol::get_characteristics Recupera as características desta seção COFF.
IDiaSymbol::get_classParent Recupera uma referência ao pai da classe do símbolo.
IDiaSymbol::get_classParentId Recupera o identificador pai da classe do símbolo.
IDiaSymbol::get_code Recupera um sinalizador que indica se o símbolo se refere a um endereço de código.
IDiaSymbol::get_coffGroup Recupera o símbolo do grupo COFF do qual esse símbolo vem.
IDiaSymbol::get_compilerGenerated Recupera um sinalizador que indica se o símbolo foi gerado pelo compilador.
IDiaSymbol::get_compilerName Recupera o nome do compilador usado para criar o Compiland.
IDiaSymbol::get_constantExport Recupera um sinalizador que indica se essa exportação é CONSTANT.
IDiaSymbol::get_constructor Recupera um sinalizador que indica se o tipo de dados definido pelo usuário tem um construtor.
IDiaSymbol::get_constType Recupera um sinalizador que indica se o tipo de dados definido pelo usuário é constante.
IDiaSymbol::get_container Recupera o símbolo que contém esse símbolo.
IDiaSymbol::get_count Recupera o número de itens em uma lista ou matriz.
IDiaSymbol::get_countLiveRanges Recupera o número de intervalos de endereços válidos associados ao símbolo local.
IDiaSymbol::get_customCallingConvention Recupera um sinalizador que indica se a função usa uma convenção de chamada personalizada.
IDiaSymbol::get_dataBytes Recupera os bytes de dados de um símbolo OEM.
IDiaSymbol::get_dataExport Recupera um sinalizador que indica se essa exportação é DATA.
IDiaSymbol::get_dataKind Recupera a classificação de variável de um símbolo de dados.
IDiaSymbol::get_editAndContinueEnabled Recupera o sinalizador que descreve os recursos Editar e Continuar do programa ou unidade compilado.
IDiaSymbol::get_exceptionHandlerAddressOffset Recupera o deslocamento de seção do manipulador de exceção.
IDiaSymbol::get_exceptionHandlerAddressSection Recupera o número da seção do manipulador de exceção.
IDiaSymbol::get_exceptionHandlerRelativeVirtualAddress Recupera o endereço virtual relativo do manipulador de exceção.
IDiaSymbol::get_exceptionHandlerVirtualAddress Recupera o endereço virtual do manipulador de exceção.
IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal Recupera um sinalizador que indica se essa exportação tem um ordinal atribuído explicitamente.
IDiaSymbol::get_exportIsForwarder Recupera um sinalizador que indica se essa exportação é um encaminhador.
IDiaSymbol::get_farReturn Recupera um sinalizador que indica se a função usa um retorno distante.
IDiaSymbol::get_finalLiveStaticSize Recupera o tamanho estático final da função dinâmica, após o sublinhado.
IDiaSymbol::get_framePointerPresent Recupera um sinalizador que indica se essa função tem um ponteiro de quadro.
IDiaSymbol::get_frameSize Recupera o tamanho do quadro.
IDiaSymbol::get_frontEndBuild Recupera o número de build de front-end.
IDiaSymbol::get_frontEndMajor Recupera o número de versão principal do front-end.
IDiaSymbol::get_frontEndMinor Recupera o número de versão secundária de front-end.
IDiaSymbol::get_frontEndQFE Recupera o número de versão do QFE de front-end.
IDiaSymbol::get_function Recupera um sinalizador que indica se o símbolo público se refere a uma função.
IDiaSymbol::get_guid Recupera o GUID do símbolo.
IDiaSymbol::get_hasAlloca Recupera um sinalizador que indica se a função contém uma chamada para alloca.
IDiaSymbol::get_hasAssignmentOperator Recupera um sinalizador que indica se o tipo de dados definido pelo usuário tem algum operador de atribuição definido.
IDiaSymbol::get_hasCastOperator Recupera um sinalizador que indica se o tipo de dados definido pelo usuário tem algum operador de conversão definido.
IDiaSymbol::get_hasControlFlowCheck Recupera um sinalizador que indica se essa função contém verificações de fluxo de controle.
IDiaSymbol::get_hasDebugInfo Recupera um sinalizador que indica se o compilador contém informações de depuração.
IDiaSymbol::get_hasEH Recupera um sinalizador que indica se a função tem um manipulador de exceção no estilo C++.
IDiaSymbol::get_hasEHa Recupera um sinalizador que indica se a função tem um manipulador de exceção assíncrono.
IDiaSymbol::get_hasInlAsm Recupera um sinalizador que indica se a função tem assembly embutido.
IDiaSymbol::get_hasLongJump Recupera um sinalizador que indica se a função contém um comando longjmp (parte do tratamento de exceção no estilo C).
IDiaSymbol::get_hasManagedCode Recupera um sinalizador que indica se o módulo contém código gerenciado.
IDiaSymbol::get_hasNestedTypes Recupera um sinalizador que indica se o tipo de dados definido pelo usuário tem definições de tipo aninhados.
IDiaSymbol::get_hasSecurityChecks Recupera um sinalizador que indica se a função ou o compilador tem verificações de segurança compiladas (por meio da opção do compilador /GS (Verificação de Segurança do Buffer ).
IDiaSymbol::get_hasSEH Recupera um sinalizador que indica se a função tem Tratamento de Exceção Estruturada no estilo Win32.
IDiaSymbol::get_hasSetJump Recupera um sinalizador que indica se a função contém um comando setjmp.
IDiaSymbol::get_hasValidPGOCounts Recupera um sinalizador que indica se esses símbolos têm contagens PGO válidas.
IDiaSymbol::get_hfaDouble Recupera um sinalizador que especifica se um UDT (tipo definido pelo usuário) contém dados de HFA (agregação de ponto flutuante) homogêneos do tipo duplo.
IDiaSymbol::get_hfaFloat Recupera um sinalizador que especifica se um UDT (tipo definido pelo usuário) contém dados de HFA (agregação de ponto flutuante) homogêneos do tipo float.
IDiaSymbol::get_indirectVirtualBaseClass Recupera um sinalizador que indica se o tipo de dados definido pelo usuário é uma classe base virtual indireta.
IDiaSymbol::get_InlSpec Recupera um sinalizador que indica se a função foi marcada com o atributo embutido.
IDiaSymbol::get_interruptReturn Recupera um sinalizador que indica se a função tem um retorno da instrução de interrupção.
IDiaSymbol::get_intrinsic Recupera um sinalizador que especifica se uma classe é um tipo intrínseco.
IDiaSymbol::get_intro Recupera um sinalizador que indica se a função é a função virtual de classe base.
IDiaSymbol::get_isAcceleratorGroupSharedLocal Recupera um sinalizador que indica se o símbolo corresponde a uma variável local compartilhada em grupo no código compilado para um Acelerador AMP C++.
IDiaSymbol::get_isAcceleratorPointerTagLiveRange Recupera um sinalizador que indica se o símbolo corresponde ao símbolo de intervalo de definição para o componente de marca de uma variável de ponteiro no código compilado para um Acelerador AMP C++. O símbolo do intervalo de definição é o local de uma variável para um intervalo de endereços.
IDiaSymbol::get_isAcceleratorStubFunction Indica se o símbolo corresponde a um símbolo de função de nível superior para um sombreador compilado para um acelerador que corresponde a uma parallel_for_each chamada.
IDiaSymbol::get_isAggregated Recupera um sinalizador que indica se os dados fazem parte de uma agregação de muitos símbolos.
IDiaSymbol::get_isConstructorVirtualBase Recupera um sinalizador que indica se esse é um construtor de instância de uma classe com base virtual.
IDiaSymbol::get_isCTypes Recupera um sinalizador que indica se o arquivo de símbolo contém tipos C.
IDiaSymbol::get_isCVTCIL Recupera um sinalizador que indica se o módulo foi convertido de CIL (Common Intermediate Language) em código nativo.
IDiaSymbol::get_isCxxReturnUdt Recupera um sinalizador que indica se o UDT de estilo C++ retorna.
IDiaSymbol::get_isDataAligned Recupera um sinalizador que indica se os elementos de um tipo de dados definido pelo usuário estão alinhados a um limite específico.
IDiaSymbol::get_isHLSLData Especifica se esse símbolo representa dados de HLSL (Linguagem de Sombreador de Alto Nível).
IDiaSymbol::get_isHotpatchable Recupera um sinalizador que indica se o módulo foi compilado com o comutador do compilador /hotpatch (Criar Imagem Frequente).
IDiaSymbol::get_isInterfaceUdt Recupera um sinalizador que indica se o tipo é um UDT (tipo definido pelo usuário) da interface do WinRT.
IDiaSymbol::get_isLocationControlFlowDependent Recupera um sinalizador que indica se a dinâmica de localização de um símbolo local depende do fluxo de controle da função.
IDiaSymbol::get_isLTCG Recupera um sinalizador que indica se o compilador gerenciado foi vinculado ao LTCG do vinculador.
IDiaSymbol::get_isMatrixRowMajor Especifica se a matriz é importante para a linha.
IDiaSymbol::get_isMSILNetmodule Recupera um sinalizador que indica se o compilador gerenciado é um .netmodule (contendo apenas metadados).
IDiaSymbol::get_isMultipleInheritance Especifica se o this ponteiro aponta para um membro de dados com várias heranças.
IDiaSymbol::get_isNaked Recupera um sinalizador que indica se a função tem o atributo naked .
IDiaSymbol::get_isOptimizedAway Especifica se a variável está otimizada.
IDiaSymbol::get_isOptimizedForSpeed Recupera um sinalizador que indica se a função é otimizada para velocidade.
IDiaSymbol::get_isPGO Recupera um sinalizador que indica se o PGO foi habilitado.
IDiaSymbol::get_isPointerBasedOnSymbolValue Especifica se o this ponteiro é baseado em um valor de símbolo.
IDiaSymbol::get_isPointerToDataMember Especifica se esse símbolo é um ponteiro para um membro de dados.
IDiaSymbol::get_isPointerToMemberFunction Especifica se esse símbolo é um ponteiro para uma função membro.
IDiaSymbol::get_isRefUdt Recupera um sinalizador que indica se esse é um UDT (tipo definido pelo usuário) de referência do WinRT.
IDiaSymbol::get_isReturnValue Especifica se a variável carrega um valor retornado.
IDiaSymbol::get_isSafeBuffers Recupera um sinalizador que especifica se a diretiva de pré-processador para um buffer seguro é usada.
IDiaSymbol::get_isSdl Especifica se o módulo é compilado com a opção /SDL.
IDiaSymbol::get_isSingleInheritance Especifica se o this ponteiro aponta para um membro de dados com herança única.
IDiaSymbol::get_isSplitted Recupera um sinalizador que indica se os dados foram divididos em uma agregação de símbolos separados.
IDiaSymbol::get_isStatic Recupera um sinalizador que indica se uma função ou camada de thunk é estática.
IDiaSymbol::get_isStripped Recupera um sinalizador que indica se os símbolos privados foram removidos do arquivo de símbolo.
IDiaSymbol::get_isValueUdt Recupera um sinalizador que indica se esse é um UDT (tipo definido pelo usuário) de valor WinRT.
IDiaSymbol::get_isVirtualInheritance Especifica se o this ponteiro aponta para um membro de dados com herança virtual.
IDiaSymbol::get_isWinRTPointer Recupera um sinalizador que indica se esse é um tipo de ponteiro WinRT.
IDiaSymbol::get_language Recupera o idioma da origem.
IDiaSymbol::get_length Recupera o número de bytes de memória usados pelo objeto representado por esse símbolo.
IDiaSymbol::get_lexicalParent Recupera uma referência ao pai lexical do símbolo.
IDiaSymbol::get_lexicalParentId Recupera o identificador pai léxico do símbolo.
IDiaSymbol::get_libraryName Recupera o nome do arquivo da biblioteca ou do arquivo de objeto do qual o objeto foi carregado.
IDiaSymbol::get_liveRangeLength Retorna o comprimento do intervalo de endereços no qual o símbolo local é válido.
IDiaSymbol::get_liveRangeStartAddressOffset Retorna a parte de deslocamento do intervalo de endereços inicial no qual o símbolo local é válido.
IDiaSymbol::get_liveRangeStartAddressSection Retorna a parte da seção do intervalo de endereços inicial no qual o símbolo local é válido.
IDiaSymbol::get_liveRangeStartRelativeVirtualAddress Retorna o início do intervalo de endereços no qual o símbolo local é válido.
IDiaSymbol::get_localBasePointerRegisterId Recupera o designador de registro do registro que mantém o ponteiro base para os locais.
IDiaSymbol::get_locationType Recupera o tipo de local de um símbolo de dados.
IDiaSymbol::get_lowerBound Recupera o limite inferior de uma dimensão de matriz FORTRAN.
IDiaSymbol::get_lowerBoundId Recupera o identificador de símbolo do limite inferior de uma dimensão de matriz FORTRAN.
IDiaSymbol::get_machineType Recupera o tipo da CPU de destino.
IDiaSymbol::get_managed Recupera um sinalizador que indica se o símbolo se refere ao código gerenciado.
IDiaSymbol::get_memorySpaceKind Recupera o tipo de espaço de memória.
IDiaSymbol::get_modifierValues Recupera o conjunto de modificadores para esse símbolo.
IDiaSymbol::get_msil Recupera um sinalizador que indica se o símbolo se refere ao código MSIL (Microsoft Intermediate Language).
IDiaSymbol::get_name Recupera o nome do símbolo.
IDiaSymbol::get_nested Recupera um sinalizador que indica se o tipo de dados definido pelo usuário está aninhado.
IDiaSymbol::get_noInline Recupera um sinalizador que indica se a função está marcada com o noinline atributo.
IDiaSymbol::get_noNameExport Recupera um sinalizador que indica se essa exportação é NONAME.
IDiaSymbol::get_noReturn Recupera um sinalizador que indica se a função foi declarada com o atributo noreturn .
IDiaSymbol::get_noStackOrdering Recupera um sinalizador que indica se nenhuma ordenação de pilha pode ser feita como parte da verificação do buffer de pilha.
IDiaSymbol::get_notReached Recupera um sinalizador que indica se a função ou rótulo nunca foi atingido.
IDiaSymbol::get_numberOfAcceleratorPointerTags Retorna o número de marcas de ponteiro do acelerador em uma função de stub do AMP do C++.
IDiaSymbol::get_numberOfColumns Recupera o número de colunas na matriz.
IDiaSymbol::get_numberOfModifiers Recupera o número de modificadores aplicados ao tipo original.
IDiaSymbol::get_numberOfRegisterIndices Recupera o número de índices de registro.
IDiaSymbol::get_numberOfRows Recupera o número de linhas na matriz.
IDiaSymbol::get_numericProperties Recupera o conjunto de propriedades numéricas para esse símbolo.
IDiaSymbol::get_objectFileName Recupera o nome do arquivo de objeto.
IDiaSymbol::get_objectPointerType Recupera o tipo do ponteiro de objeto para um método de classe.
IDiaSymbol::get_oemId Recupera o valor do oemId símbolo.
IDiaSymbol::get_oemSymbolId Recupera o valor do oemSymbolId símbolo.
IDiaSymbol::get_offset Recupera o deslocamento do local do símbolo.
IDiaSymbol::get_offsetInUdt Recupera o deslocamento de campo desse símbolo dentro do UDT (tipo definido pelo usuário externo).
IDiaSymbol::get_optimizedCodeDebugInfo Recupera um sinalizador que indica se a função ou o rótulo contém código otimizado, bem como informações de depuração.
IDiaSymbol::get_ordinal Recupera o ordinal dessa exportação.
IDiaSymbol::get_overloadedOperator Recupera um sinalizador que indica se o tipo de dados definido pelo usuário tem operadores sobrecarregados.
IDiaSymbol::get_packed Recupera um sinalizador que indica se o tipo de dados definido pelo usuário está empacotado.
IDiaSymbol::get_paramBasePointerRegisterId Recupera o designador de registro do registro que mantém o ponteiro base para parâmetros.
IDiaSymbol::get_PGODynamicInstructionCount Recupera a contagem de instruções dinâmicas calculada pelo treinamento.
IDiaSymbol::get_PGOEdgeCount Recupera a contagem de borda entre um chamador/chamador e seu pai.
IDiaSymbol::get_PGOEntryCount Recupera a contagem total de invocações no treinamento PGO.
IDiaSymbol::get_phaseName Recupera a fase da qual essa função é membro para builds com várias fases do PGO.
IDiaSymbol::get_platform Recupera o tipo de plataforma para o qual o programa ou compilação foi compilado.
IDiaSymbol::get_privateExport Recupera um sinalizador que indica se essa exportação é PRIVATE.
IDiaSymbol::get_pure Recupera um sinalizador que indica se a função é virtual pura.
IDiaSymbol::get_rank Recupera a classificação de uma matriz multidimensional FORTRAN.
IDiaSymbol::get_reference Recupera um sinalizador que indica se um tipo de ponteiro é uma referência.
IDiaSymbol::get_registerId Recupera o designador de registro do local.
IDiaSymbol::get_registerType Recupera o tipo de registro.
IDiaSymbol::get_relativeVirtualAddress Recupera o endereço virtual relativo (RVA) do local.
IDiaSymbol::get_restrictedType Especifica se o this ponteiro é sinalizado como restrito.
IDiaSymbol::get_RValueReference Recupera um sinalizador que especifica se um tipo de ponteiro é uma referência rvalue.
IDiaSymbol::get_samplerSlot Recupera o slot do sampler.
IDiaSymbol::get_scoped Recupera um sinalizador que indica se o tipo de dados definido pelo usuário aparece em um escopo léxico não global.
IDiaSymbol::get_sealed Recupera um sinalizador que especifica se a classe ou o método está lacrado.
IDiaSymbol::get_signature Recupera o valor da assinatura do símbolo.
IDiaSymbol::get_sizeInUdt Recupera o tamanho de um membro de um tipo definido pelo usuário.
IDiaSymbol::get_slot Recupera o número do slot do local.
IDiaSymbol::get_sourceFileName Recupera o nome do arquivo de origem.
IDiaSymbol::get_staticSize Recupera a contagem de instruções estáticas.
IDiaSymbol::get_strictGSCheck Recupera um sinalizador que indica se essa função foi compilada com strict_gs_check o pragma habilitado.
IDiaSymbol::get_stride Recupera o passo da matriz ou da matriz passo a passo.
IDiaSymbol::get_subType Recupera o subtipo.
IDiaSymbol::get_subTypeId Recupera a ID do subtipo.
IDiaSymbol::get_symbolsFileName Recupera o nome do arquivo do qual os símbolos foram carregados.
IDiaSymbol::get_symIndexId Recupera o identificador de símbolo exclusivo.
IDiaSymbol::get_symTag Recupera o classificador de tipo de símbolo.
IDiaSymbol::get_targetOffset Recupera a seção de deslocamento de um destino de thunk.
IDiaSymbol::get_targetRelativeVirtualAddress Recupera o RVA (endereço virtual relativo) de um destino thunk.
IDiaSymbol::get_targetSection Recupera a seção de endereço de um destino thunk.
IDiaSymbol::get_targetVirtualAddress Recupera o VA (endereço virtual) de um destino thunk.
IDiaSymbol::get_textureSlot Recupera o slot de textura.
IDiaSymbol::get_thisAdjust Recupera o ajustador lógico this do método.
IDiaSymbol::get_thunkOrdinal Recupera o tipo thunk de uma função.
IDiaSymbol::get_timeStamp Recupera o carimbo de data/hora do arquivo executável subjacente.
IDiaSymbol::get_token Recupera o token de metadados de uma função gerenciada ou variável.
IDiaSymbol::get_type Recupera uma referência à assinatura da função.
IDiaSymbol::get_typeId Recupera o identificador de tipo do símbolo.
IDiaSymbol::get_typeIds Recupera uma matriz de valores de identificador de tipo específicos do compilador para esse símbolo.
IDiaSymbol::get_types Recupera uma matriz de valores de tipo específicos do compilador para esse símbolo.
IDiaSymbol::get_uavSlot Recupera o slot de uav.
IDiaSymbol::get_udtKind Recupera a variedade de um UDT (tipo definido pelo usuário).
IDiaSymbol::get_unalignedType Recupera um sinalizador que indica se o tipo de dados definido pelo usuário está desalinhado.
IDiaSymbol::get_undecoratedName Recupera o nome não corrigido para um nome C++ decorado ou vinculado.
IDiaSymbol::get_undecoratedNameEx Extensão do get_undecoratedName método que recupera o nome não corrigido com base no valor de um campo de extensão.
IDiaSymbol::get_unmodifiedType Recupera o tipo original (não modificado) desse símbolo.
IDiaSymbol::get_unmodifiedTypeId Recupera a ID do tipo original (não modificado).
IDiaSymbol::get_unused Função preterida.
IDiaSymbol::get_upperBound Recupera o limite superior de uma dimensão de matriz FORTRAN.
IDiaSymbol::get_upperBoundId Recupera o identificador de símbolo do limite superior de uma dimensão de matriz FORTRAN.
IDiaSymbol::get_value Recupera o valor de uma constante.
IDiaSymbol::get_virtual Recupera um sinalizador que indica se a função é virtual.
IDiaSymbol::get_virtualAddress Recupera o va (endereço virtual) do local.
IDiaSymbol::get_virtualBaseClass Recupera um sinalizador que indica se o tipo de dados definido pelo usuário é uma classe base virtual.
IDiaSymbol::get_virtualBaseDispIndex Recupera o índice para a tabela de deslocamento de base virtual.
IDiaSymbol::get_virtualBaseOffset Recupera o deslocamento na tabela de funções virtuais de uma função virtual.
IDiaSymbol::get_virtualBasePointerOffset Recupera o deslocamento do ponteiro base virtual.
IDiaSymbol::get_virtualBaseTableType Recupera o tipo de um ponteiro de tabela base virtual.
IDiaSymbol::get_virtualTableShape Recupera a interface de símbolo do tipo da tabela virtual para um tipo definido pelo usuário.
IDiaSymbol::get_virtualTableShapeId Recupera o identificador de forma da tabela virtual do símbolo.
IDiaSymbol::get_volatileType Recupera um sinalizador que indica se o tipo de dados definido pelo usuário é volátil.
IDiaSymbol::get_wasInlined Recupera um sinalizador que indica se esse símbolo de função foi embutido em outra função.
IDiaSymbol::getSrcLineOnTypeDefn Recupera o arquivo de origem e o número de linha que indicam onde um tipo definido pelo usuário especificado está definido.

Observações

Anotações para chamadores

Obtenha essa interface chamando um dos seguintes métodos:

Exemplo

Este exemplo mostra como exibir as variáveis locais para uma função em um determinado endereço virtual relativo. Ele também mostra como símbolos de diferentes tipos estão relacionados uns aos outros.

Observação

CDiaBSTR é uma classe que encapsula e BSTR manipula automaticamente a liberação da cadeia de caracteres quando a instanciação sai do escopo.

void DumpLocalVars( DWORD rva, IDiaSession *pSession )
{
    CComPtr< IDiaSymbol > pBlock;
    if ( FAILED( psession->findSymbolByRVA( rva, SymTagBlock, &pBlock ) ) )
    {
        Fatal( "Failed to find symbols by RVA" );
    }
    CComPtr< IDiaSymbol > pscope;
    for ( ; pBlock != NULL; )
    {
        CComPtr< IDiaEnumSymbols > pEnum;
        // local data search
        if ( FAILED( pBlock->findChildren( SymTagNull, NULL, nsNone, &pEnum ) ) )
        {
            Fatal( "Local scope findChildren failed" );
        }
        CComPtr< IDiaSymbol > pSymbol;
        DWORD tag;
        DWORD celt;
        while ( pEnum != NULL &&
                SUCCEEDED( pEnum->Next( 1, &pSymbol, &celt ) ) &&
                celt == 1)
        {
            pSymbol->get_symTag( &tag );
            if ( tag == SymTagData )
            {
                CDiaBSTR name;
                DWORD    kind;
                pSymbol->get_name( &name );
                pSymbol->get_dataKind( &kind );
                if ( name != NULL )
                    wprintf_s( L"\t%s (%s)\n", name, szDataKinds[ kind ] );
            }
            else if ( tag == SymTagAnnotation )
            {
                CComPtr< IDiaEnumSymbols > pValues;
                // local data search
                wprintf_s( L"\tAnnotation:\n" );
                if ( FAILED( pSymbol->findChildren( SymTagNull, NULL, nsNone, &pValues ) ) )
                    Fatal( "Annotation findChildren failed" );
                pSymbol = NULL;
                while ( pValues != NULL &&
                        SUCCEEDED( pValues->Next( 1, &pSymbol, &celt ) ) &&
                        celt == 1 )
                {
                    CComVariant value;
                    if ( pSymbol->get_value( &value ) != S_OK )
                        Fatal( "No value for annotation data." );
                    wprintf_s( L"\t\t%ws\n", value.bstrVal );
                    pSymbol = NULL;
                }
            }
            pSymbol = NULL;
        }
        pBlock->get_symTag( &tag );
        if ( tag == SymTagFunction )    // stop when at function scope
            break;
        // move to lexical parent
        CComPtr< IDiaSymbol > pParent;
        if ( SUCCEEDED( pBlock->get_lexicalParent( &pParent ) )
            && pParent != NULL ) {
            pBlock = pParent;
        }
        else
        {
            Fatal( "Finding lexical parent failed." );
        }
    };
}

Requisitos

Header: Dia2.h

Biblioteca: diaguids.lib

DLL: msdia140.dll

Consulte também