Partilhar via


IDiaSession

Fornece um contexto de consulta para símbolos de depuração.

IDiaSession : IUnknown

Métodos

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

Método

Descrição

IDiaSession::get_loadAddress

Recupera o endereço de carregamento para o arquivo executável que corresponde aos símbolos no repositório do símbolo. Esse é o mesmo valor que foi passado para o método de put_loadAddress .

IDiaSession::put_loadAddress

Define o endereço de carregamento para o arquivo executável que corresponde aos símbolos no repositório do símbolo.

Dica

É importante chamar este método quando você obtém um objeto de IDiaSession e antes de iniciar usando o objeto.

IDiaSession::get_globalScope

Recupera uma referência ao escopo global.

IDiaSession::getEnumTables

Recupera um enumerador para todas as tabelas contidas no armazenamento de símbolo.

IDiaSession::getSymbolsByAddr

Recupera um enumerador para todos os símbolos nomeados em locais estáticos.

IDiaSession::findChildren

Recupera todos os filhos de um identificador pai especificado que corresponde ao nome e o tipo do símbolo.

IDiaSession::findSymbolByAddr

Recupera um tipo especificado do símbolo que contém, ou é o mais próximo da, um endereço especificado.

IDiaSession::findSymbolByRVA

Recupera um tipo especificado do símbolo que contém, ou é o mais próximo da, um endereço virtual relativo especificado (RVA).

IDiaSession::findSymbolByVA

Recupera um tipo especificado do símbolo que contém, ou é o mais próximo da, um endereço virtual especificado (VA).

IDiaSession::findSymbolByToken

Recupera o símbolo que contém os metadados especificados um.

IDiaSession::symsAreEquiv

Verifica se dois símbolos são equivalentes.

IDiaSession::symbolById

Recupera um símbolo por seu identificador exclusivo.

IDiaSession::findSymbolByRVAEx

Recupera um tipo especificado do símbolo que contém, ou é o mais próximo da, um endereço virtual e um deslocamento relativo especificados.

IDiaSession::findSymbolByVAEx

Recupera um tipo especificado do símbolo que contém, ou é o mais próximo da, um endereço virtual e um deslocamento especificado.

IDiaSession::findFile

Recupera um arquivo de origem pelo compiland e nome.

IDiaSession::findFileById

Recupera um arquivo de origem identificador de arquivo de origem.

IDiaSession::findLines

Recupera a linha números em um identificador especificado de compiland e de arquivo de origem.

IDiaSession::findLinesByAddr

Recupera linhas em um compiland especificado que contém um endereço especificado.

IDiaSession::findLinesByRVA

Recupera linhas em um compiland especificado que contém um endereço virtual relativo especificado.

IDiaSession::findLinesByVA

Localiza a linha informações do número de linhas contidas em um intervalo de endereços especificado.

IDiaSession::findLinesByLinenum

Recupera linhas em um compiland especificado pelo arquivo de origem e a linha de comando.

IDiaSession::findInjectedSource

Recupera uma fonte que é colocada no armazenamento de símbolo por provedores de atributo ou por outros componentes do processo de compilação.

IDiaSession::getEnumDebugStreams

Recupera uma seqüência enumerada de fluxos de dados de depuração.

IDiaSession::findInlineFramesByAddr

Recupera uma enumeração que permite que um cliente executa iterações através dos quadros definidas em um endereço especificado.

IDiaSession::findInlineFramesByRVA

Recupera uma enumeração que permite que um cliente executa iterações através dos quadros definidas em um endereço virtual relativo especificado (RVA).

IDiaSession::findInlineFramesByVA

Recupera uma enumeração que permite que um cliente executa iterações através dos quadros definidas em um endereço virtual especificado (VA).

IDiaSession::findInlineeLines

Recupera uma enumeração que permite que um cliente executa iterações através da linha informações do número das funções que inlined, direta ou indiretamente, pelo símbolo pai especificado.

IDiaSession::findInlineeLinesByAddr

Recupera uma enumeração que permite que um cliente executa iterações através da linha informações do número das funções que inlined, direta ou indiretamente, pelo símbolo pai especificado e está contida dentro do intervalo de endereços especificado.

IDiaSession::findInlineeLinesByRVA

Recupera uma enumeração que permite que um cliente executa iterações através da linha informações do número das funções que inlined, direta ou indiretamente, pelo símbolo pai especificado e está contida dentro do endereço virtual relativo especificado (RVA).

IDiaSession::findInlineeLinesByVA

Recupera uma enumeração que permite que um cliente executa iterações através da linha informações do número das funções que inlined, direta ou indiretamente, pelo símbolo pai especificado e está contida dentro do endereço virtual especificado (VA).

IDiaSession::findInlineeLinesByLinenum

Recupera uma enumeração que permite que um cliente executa iterações através da linha informações do número das funções que inlined, direta ou indiretamente, no arquivo de origem e linha número especificado.

IDiaSession::findInlineesByName

Recupera uma enumeração que permite que um cliente executa iterações através da linha informações do número das funções inlined que correspondem um nome especificado.

IDiaSession::findSymbolsForAcceleratorPointerTag

Retorna uma enumeração de símbolos para a variável que o valor especificado de marca corresponde a função pai de stub de aceleração.

IDiaSession::findSymbolsByRVAForAcceleratorPointerTag

Um determinado valor correspondente da marca, esse método retorna uma enumeração de símbolos que estão contidos em um pai função especificada de stub de aceleradores em um endereço virtual relativo especificado.

IDiaSession::findAcceleratorInlineesByName

Retorna uma enumeração de símbolos de quadros internos que correspondem ao nome da função in-line especificado.

IDiaSession::findAcceleratorInlineesByLinenum

Retorna uma enumeração de símbolos de quadros internos que correspondem ao local especificado de origem.

Comentários

É importante chamar o método de IDiaSession::put_loadAddress após criar o objeto de IDiaSession — e o valor passado ao método de put_loadAddress deve ser diferente de zero — para todas as propriedades de (VA) do endereço virtual de símbolos para ser acessível. O endereço de carregamento do que carregou o programa executável que está sendo depurado. Por exemplo, você pode chamar a função GetModuleInformation Win32 para recuperar o endereço de carregamento para o arquivo executável, dado um identificador para o arquivo.

Exemplo

Este exemplo mostra como obter a interface de IDiaSession como parte de uma inicialização geral de diâmetro SDK.

CComPtr<IDiaDataSource> pSource;
ComPtr<IDiaSession> psession;


void InitializeDIA(const char *szFilename)
{
    HRESULT hr = CoCreateInstance( CLSID_DiaSource,
                                   NULL,
                                   CLSCTX_INPROC_SERVER,
                                   __uuidof( IDiaDataSource ),
                                  (void **) &pSource);
    if (FAILED(hr))
    {
        Fatal("Could not CoCreate CLSID_DiaSource. Register msdia80.dll." );
    }
    wchar_t wszFilename[ _MAX_PATH ];
    mbstowcs( wszFilename,
              szFilename,
              sizeof( wszFilename )/sizeof( wszFilename[0] ) );
    if ( FAILED( pSource->loadDataFromPdb( wszFilename ) ) )
    {
        if ( FAILED( pSource->loadDataForExe( wszFilename, NULL, NULL ) ) )
        {
            Fatal( "loadDataFromPdb/Exe" );
        }
    }
    if ( FAILED( pSource->openSession( &psession ) ) )
    {
        Fatal( "openSession" );
    }
}

Requisitos

Cabeçalho: Dia2.h

Biblioteca: diaguids.lib

DLL: msdia80.dll

Consulte também

Tarefas

Consultando o arquivo .Pdb

Referência

Exe

IDiaAddressMap

IDiaDataSource

IDiaDataSource::openSession

IDiaSymbol::findChildren

Outros recursos

Interfaces (SDK de Acesso à Interface de Depuração)

Visão geral (SDK de Acesso à Interface de Depuração)