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 |
---|---|
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 . |
|
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. |
|
Recupera uma referência ao escopo global. |
|
Recupera um enumerador para todas as tabelas contidas no armazenamento de símbolo. |
|
Recupera um enumerador para todos os símbolos nomeados em locais estáticos. |
|
Recupera todos os filhos de um identificador pai especificado que corresponde ao nome e o tipo do símbolo. |
|
Recupera um tipo especificado do símbolo que contém, ou é o mais próximo da, um endereço especificado. |
|
Recupera um tipo especificado do símbolo que contém, ou é o mais próximo da, um endereço virtual relativo especificado (RVA). |
|
Recupera um tipo especificado do símbolo que contém, ou é o mais próximo da, um endereço virtual especificado (VA). |
|
Recupera o símbolo que contém os metadados especificados um. |
|
Verifica se dois símbolos são equivalentes. |
|
Recupera um símbolo por seu identificador exclusivo. |
|
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. |
|
Recupera um tipo especificado do símbolo que contém, ou é o mais próximo da, um endereço virtual e um deslocamento especificado. |
|
Recupera um arquivo de origem pelo compiland e nome. |
|
Recupera um arquivo de origem identificador de arquivo de origem. |
|
Recupera a linha números em um identificador especificado de compiland e de arquivo de origem. |
|
Recupera linhas em um compiland especificado que contém um endereço especificado. |
|
Recupera linhas em um compiland especificado que contém um endereço virtual relativo especificado. |
|
Localiza a linha informações do número de linhas contidas em um intervalo de endereços especificado. |
|
Recupera linhas em um compiland especificado pelo arquivo de origem e a linha de comando. |
|
Recupera uma fonte que é colocada no armazenamento de símbolo por provedores de atributo ou por outros componentes do processo de compilação. |
|
Recupera uma seqüência enumerada de fluxos de dados de depuração. |
|
Recupera uma enumeração que permite que um cliente executa iterações através dos quadros definidas em um endereço especificado. |
|
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). |
|
Recupera uma enumeração que permite que um cliente executa iterações através dos quadros definidas em um endereço virtual especificado (VA). |
|
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. |
|
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. |
|
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). |
|
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). |
|
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. |
|
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. |
|
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. |
|
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. |
|
Retorna uma enumeração de símbolos de quadros internos que correspondem ao nome da função in-line especificado. |
|
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