Partilhar via


IDiaSymbol

Descreve as propriedades de uma ocorrê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 retorna S_OK, então esse método retornou dados significativos. Para obter uma lista de tipos de símbolos, consulte Hierarquia lexical de tipos de símbolos.

Método Descrição
IDiaSymbol::findChildren Recupera todos os filhos do símbolo.
IDiaSymbol::findChildrenEx Recupera os filhos do símbolo. Este 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 endereço virtual relativo (RVA) 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 através das informações de número de linha de todas as funções que estão embutidas, direta ou indiretamente, neste símbolo.
IDiaSymbol::findInlineeLinesByAddr Recupera uma enumeração que permite que um cliente itere através 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 intervalo de endereços especificado.
IDiaSymbol::findInlineeLinesByRVA Recupera uma enumeração que permite que um cliente itere através 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 endereço virtual relativo (RVA) especificado.
IDiaSymbol::findInlineeLinesByVA Recupera uma enumeração que permite que um cliente itere através 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 endereço virtual especificado (VA).
IDiaSymbol::findInlineFramesByAddr Recupera uma enumeração que permite que um cliente itere através de todos os quadros embutidos em um determinado endereço.
IDiaSymbol::findInlineFramesByRVA Recupera uma enumeração que permite que um cliente itere através de todos os quadros embutidos em um endereço virtual relativo (RVA) especificado.
IDiaSymbol::findInlineFramesByVA Recupera uma enumeração que permite que um cliente itere através de todos os quadros embutidos em um endereço virtual especificado (VA).
IDiaSymbol::findInputAssemblyFile Recupera o arquivo de assembly de entrada nativo do .NET que é o pai do símbolo.
IDiaSymbol::findSymbolsByRVAForAcceleratorPointerTag Dado um valor de tag correspondente, esse método retorna uma enumeração de símbolos contidos nessa função de stub em um endereço virtual relativo especificado.
IDiaSymbol::findSymbolsForAcceleratorPointerTag Retorna o número de tags de ponteiro acelerador em uma função de stub AMP 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 C++.
IDiaSymbol::get_access Recupera o modificador de acesso de um membro da 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 de 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 compilação de back-end.
IDiaSymbol::get_backEndMajor Recupera o número da versão principal do back-end.
IDiaSymbol::get_backEndMinor Recupera o número da versão secundária do back-end.
IDiaSymbol::get_backEndQFE Recupera o número qfe de back-end.
IDiaSymbol::get_baseDataOffset Recupera o deslocamento de dados de base.
IDiaSymbol::get_baseDataSlot Recupera o slot de dados de base.
IDiaSymbol::get_baseSymbol Recupera o símbolo do qual o ponteiro se baseia.
IDiaSymbol::get_baseSymbolId Recupera o ID do símbolo do qual o ponteiro se baseia.
IDiaSymbol::get_baseType Recupera a marca type de um tipo simples.
IDiaSymbol::get_bindID Recupera o índice de registro de vinculação.
IDiaSymbol::get_bindSlot Recupera o limite inferior no espaço de ligação.
IDiaSymbol::get_bindSpace Recupera o espaço de ligação.
IDiaSymbol::get_bitPosition Recupera a posição de bits 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 de 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 de onde este 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 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 compilados.
IDiaSymbol::get_exceptionHandlerAddressOffset Recupera o deslocamento de seção do manipulador de exceções.
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ções.
IDiaSymbol::get_exceptionHandlerVirtualAddress Recupera o endereço virtual do manipulador de exceções.
IDiaSymbol::get_exportHasExplicitlyAssignedOrdinal Recupera um sinalizador que indica se essa exportação tem um ordinal explicitamente atribuído.
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 ao vivo, após o inlining.
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 compilação do front-end.
IDiaSymbol::get_frontEndMajor Recupera o número da versão principal do front-end.
IDiaSymbol::get_frontEndMinor Recupera o número da versão secundária do front-end.
IDiaSymbol::get_frontEndQFE Recupera o número da versão do QFE 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 cast 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 a compilação contém alguma informação 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 montagem embutida.
IDiaSymbol::get_hasLongJump Recupera um sinalizador que indica se a função contém um comando longjmp (parte do tratamento de exceções 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 aninhadas.
IDiaSymbol::get_hasSecurityChecks Recupera um sinalizador que indica se a função ou compilação tem verificações de segurança compiladas (através da opção de compilador /GS (Buffer Security Check) ).
IDiaSymbol::get_hasSEH Recupera um sinalizador que indica se a função tem manipulação 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 tipo definido pelo usuário (UDT) contém dados homogêneos de agregado de ponto flutuante (HFA) do tipo double.
IDiaSymbol::get_hfaFloat Recupera um sinalizador que especifica se um tipo definido pelo usuário (UDT) contém dados agregados de ponto flutuante homogêneos (HFA) 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 de grupo em código compilado para um Acelerador AMP C++.
IDiaSymbol::get_isAcceleratorPointerTagLiveRange Recupera um sinalizador que indica se o símbolo corresponde ao símbolo do intervalo de definição para o componente tag de uma variável de ponteiro em código compilado para um Acelerador AMP C++. O símbolo do intervalo de definição é a localização de uma variável para uma extensão 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 este é 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 Common Intermediate Language (CIL) para código nativo.
IDiaSymbol::get_isCxxReturnUdt Recupera um sinalizador que indica se retorna UDT estilo C++.
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 HLSL (High Level Shader Language).
IDiaSymbol::get_isHotpatchable Recupera um sinalizador que indica se o módulo foi compilado com a opção de compilador /hotpatch (Create Hotpatchable Image).
IDiaSymbol::get_isInterfaceUdt Recupera um sinalizador que indica se o tipo é um tipo definido pelo usuário (UDT) da interface WinRT.
IDiaSymbol::get_isLocationControlFlowDependent Recupera um sinalizador que indica se a vida 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 a compilação gerenciada foi vinculada ao LTCG do vinculador.
IDiaSymbol::get_isMatrixRowMajor Especifica se a matriz é linha maior.
IDiaSymbol::get_isMSILNetmodule Recupera um sinalizador que indica se a compilação gerenciada é um .netmodule (contendo apenas metadados).
IDiaSymbol::get_isMultipleInheritance Especifica se o this ponteiro aponta para um membro de dados com herança múltipla.
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 está otimizada para velocidade.
IDiaSymbol::get_isPGO Recupera um sinalizador que indica se o PGO estava habilitado.
IDiaSymbol::get_isPointerBasedOnSymbolValue Especifica se o this ponteiro se baseia 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 de membro.
IDiaSymbol::get_isRefUdt Recupera um sinalizador que indica se este é um tipo definido pelo usuário (UDT) de referência do WinRT.
IDiaSymbol::get_isReturnValue Especifica se a variável carrega um valor de retorno.
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 thunk é estática.
IDiaSymbol::get_isStripped Recupera um sinalizador que indica se os símbolos privados foram removidos do arquivo de símbolos.
IDiaSymbol::get_isValueUdt Recupera um sinalizador que indica se este é um tipo definido pelo usuário (UDT) de valor do 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 este é um tipo de ponteiro WinRT.
IDiaSymbol::get_language Recupera o idioma da fonte.
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 lexical 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 na 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 ponteiro base de retenção de registro 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 este símbolo.
IDiaSymbol::get_msil Recupera um sinalizador que indica se o símbolo se refere ao código Microsoft Intermediate Language (MSIL).
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 ordem 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 é atingido.
IDiaSymbol::get_numberOfAcceleratorPointerTags Retorna o número de tags de ponteiro acelerador em uma função de stub AMP C++.
IDiaSymbol::get_numberOfColumns Recupera o número de colunas na matriz.
IDiaSymbol::get_numberOfModifiers Recupera o número de modificadores que são 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 desse 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 tipo externo definido pelo usuário (UDT).
IDiaSymbol::get_optimizedCodeDebugInfo Recupera um sinalizador que indica se a função ou 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 sobrecarregou os operadores.
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 conté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 bordas entre um chamador/destinatário e seu pai.
IDiaSymbol::get_PGOEntryCount Recupera a contagem total de invocação no treinamento PGO.
IDiaSymbol::get_phaseName Recupera a fase da qual esta função é membro para compilações multifásicas 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 é pura virtual.
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 ponteiro está sinalizado this como restrito.
IDiaSymbol::get_RValueReference Recupera um sinalizador que especifica se um tipo de ponteiro é uma referência de rvalue.
IDiaSymbol::get_samplerSlot Recupera o slot do amostrador.
IDiaSymbol::get_scoped Recupera um sinalizador que indica se o tipo de dados definido pelo usuário aparece em um escopo lexical não global.
IDiaSymbol::get_sealed Recupera um sinalizador que especifica se a classe ou 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 pragma habilitado.
IDiaSymbol::get_stride Recupera a passada da matriz ou matriz estriada.
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 thunk.
IDiaSymbol::get_targetRelativeVirtualAddress Recupera o endereço virtual relativo (RVA) de um destino thunk.
IDiaSymbol::get_targetSection Recupera a seção de endereço de um destino thunk.
IDiaSymbol::get_targetVirtualAddress Recupera o endereço virtual (VA) de um destino thunk.
IDiaSymbol::get_textureSlot Recupera o slot de textura.
IDiaSymbol::get_thisAdjust Recupera o ajustador lógico this para o 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 ou variável gerenciada.
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 uav.
IDiaSymbol::get_udtKind Recupera a variedade de um tipo definido pelo usuário (UDT).
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 decorado para um nome decorado em C++ ou linkage.
IDiaSymbol::get_undecoratedNameEx Extensão do get_undecoratedName método que recupera o nome não decorado com base no valor de um campo de extensão.
IDiaSymbol::get_unmodifiedType Recupera o tipo original (não modificado) deste 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 endereço virtual (VA) 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 de 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 da linha que indicam onde um tipo especificado definido pelo usuário está definido.

Observações

Notas para chamadores

Obtenha essa interface chamando um dos seguintes métodos:

Exemplo

Este exemplo mostra como exibir as variáveis locais de uma função em um determinado endereço virtual relativo. Também mostra como símbolos de diferentes tipos estão relacionados entre si.

Observação

CDiaBSTR é uma classe que encapsula a BSTR e 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." );
        }
    };
}

Requerimentos

Header: Dia2.h

Biblioteca: diaguids.lib

DLL: msdia140.dll

Ver também