Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Fornece um contexto de consulta para símbolos de depuração.
Sintaxe
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 carga do arquivo executável que corresponde aos símbolos neste repositório de símbolos. Esse é o mesmo valor que foi passado para o método put_loadAddress. |
IDiaSession::put_loadAddress |
Define o endereço de carga do arquivo executável que corresponde aos símbolos neste repositório de símbolos.
Observação: É importante chamar esse método quando você obtém um objeto IDiaSession e antes de começar a usar o objeto. |
IDiaSession::get_globalScope |
Recupera uma referência ao escopo global. |
IDiaSession::getEnumTables |
Recupera um enumerador para todas as tabelas contidas no repositório de símbolos. |
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 correspondem ao nome e ao tipo de símbolo. |
IDiaSession::findChildrenEx |
Recupera todos os filhos de um identificador pai especificado que correspondem ao nome e ao tipo de símbolo, incluindo locais otimizados. |
IDiaSession::findChildrenExByAddr |
Recupera todos os filhos de um identificador pai especificado que correspondem ao nome e ao tipo de símbolo, incluindo locais otimizados, que contém ou está mais próximo de um endereço especificado. |
IDiaSession::findChildrenExByVA |
Recupera todos os filhos de um identificador pai especificado que correspondem ao nome e ao tipo de símbolo, incluindo locais otimizados, que contém ou está mais próximo de um VA (endereço virtual) especificado. |
IDiaSession::findChildrenExByRVA |
Recupera todos os filhos de um identificador pai especificado que correspondem ao nome e ao tipo de símbolo, incluindo locais otimizados, que contém ou está mais próximo de um RVA (endereço virtual relativo) especificado. |
IDiaSession::findSymbolByAddr |
Recupera um tipo de símbolo especificado que contém ou está mais próximo de um endereço especificado. |
IDiaSession::findSymbolByRVA |
Recupera um tipo de símbolo especificado que contém ou está mais próximo de um RVA (endereço virtual relativo) especificado. |
IDiaSession::findSymbolByVA |
Recupera um tipo de símbolo especificado que contém ou está mais próximo de um VA (endereço virtual) especificado. |
IDiaSession::findSymbolByToken |
Recupera o símbolo que contém um token de metadados especificado. |
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 de símbolo especificado que contém ou está mais próximo de um endereço virtual relativo e deslocamento especificados. |
IDiaSession::findSymbolByVAEx |
Recupera um tipo de símbolo especificado que contém ou está mais próximo de um endereço virtual e deslocamento especificados. |
IDiaSession::findFile |
Recupera um arquivo de origem por compilação e nome. |
IDiaSession::findFileById |
Recupera um arquivo de origem por identificador de arquivo de origem. |
IDiaSession::findLines |
Recupera números de linha em um compilador e identificador de arquivo de origem especificados. |
IDiaSession::findLinesByAddr |
Recupera as linhas em um compilador especificado e que contêm um endereço especificado. |
IDiaSession::findLinesByRVA |
Recupera as linhas em um compilador especificado e que contêm um endereço virtual relativo especificado. |
IDiaSession::findLinesByVA |
Localiza as informações de número de linha para linhas contidas em um intervalo de endereços especificado. |
IDiaSession::findLinesByLinenum |
Recupera as linhas em um compilado especificado e por arquivo de origem e número de linha. |
IDiaSession::findInjectedSource |
Recupera uma origem que foi colocada no repositório de símbolos por provedores de atributos ou outros componentes do processo de compilação. |
IDiaSession::getEnumDebugStreams |
Recupera uma sequência enumerada de fluxos de dados de depuração. |
IDiaSession::findInlineFramesByAddr |
Recupera uma enumeração que permite que um cliente itere por todos os quadros embutidos em um determinado endereço. |
IDiaSession::findInlineFramesByRVA |
Recupera uma enumeração que permite que um cliente itere por todos os quadros embutidos em um RVA (endereço virtual relativo) especificado. |
IDiaSession::findInlineFramesByVA |
Recupera uma enumeração que permite que um cliente itere por todos os quadros embutidos em um VA (endereço virtual) especificado. |
IDiaSession::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 embutidas, direta ou indiretamente, pelo símbolo pai especificado. |
IDiaSession::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, pelo símbolo pai especificado e que estão contidas no intervalo de endereços especificado. |
IDiaSession::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 embutidas, direta ou indiretamente, pelo símbolo pai especificado e que estão contidas no RVA (endereço virtual relativo) especificado. |
IDiaSession::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 embutidas, direta ou indiretamente, pelo símbolo pai especificado e que estão contidas no va (endereço virtual) especificado. |
IDiaSession::findInlineeLinesByLinenum |
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, no arquivo de origem e no número de linha especificados. |
IDiaSession::findInlineesByName |
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 que correspondem a um nome especificado. |
IDiaSession::findAcceleratorInlineesByLinenum |
Retorna uma enumeração de símbolos para quadros embutidos que correspondem ao local de origem especificado. |
IDiaSession::findSymbolsForAcceleratorPointerTag |
Retorna uma enumeração de símbolos para a variável à qual o valor de marca especificado corresponde na função de stub do Acelerador pai. |
IDiaSession::findSymbolsByRVAForAcceleratorPointerTag |
Dado um valor de marca correspondente, esse método retorna uma enumeração de símbolos contidos em uma função de stub do Acelerador pai especificada em um endereço virtual relativo especificado. |
IDiaSession::findAcceleratorInlineesByName |
Retorna uma enumeração de símbolos para quadros embutidos correspondentes ao nome da função embutida especificada. |
IDiaSession::addressForVA |
Retorna o endereço equivalente para o VA (endereço virtual) especificado. |
IDiaSession::addressForRVA |
Retorna o endereço equivalente para o RVA (endereço virtual relativo) especificado. |
IDiaSession::findILOffsetsByAddr |
Recupera uma enumeração que permite que um cliente itere por meio dos deslocamentos msil dentro de um intervalo de endereços especificado. |
IDiaSession::findILOffsetsByRVA |
Recupera uma enumeração que permite que um cliente itere por meio dos deslocamentos msil dentro de um intervalo de RVA (endereço virtual relativo) especificado. |
IDiaSession::findILOffsetsByVA |
Recupera uma enumeração que permite que um cliente itere por meio dos deslocamentos msil dentro de um intervalo de VA (endereço virtual) especificado. |
IDiaSession::findInputAssemblyFiles |
Recupera uma enumeração que permite que um cliente itere por meio dos arquivos de assembly de entrada nativos do .NET. |
IDiaSession::findInputAssembly |
Recupera um arquivo de assembly de entrada nativo do .NET por índice. |
IDiaSession::findInputAssemblyById |
Recupera o arquivo de assembly de entrada nativo do .NET por identificador exclusivo. |
IDiaSession::getFuncMDTokenMapSize |
Recupera o tamanho, em bytes, do mapa do token de função de metadados nativo do .NET. |
IDiaSession::getFuncMDTokenMap |
Recupera o conteúdo do mapa do token de função de metadados nativo do .NET. |
IDiaSession::getTypeMDTokenMapSize |
Recupera o tamanho, em bytes, do mapa de token de tipo de metadados nativo do .NET. |
IDiaSession::getTypeMDTokenMap |
Recupera o conteúdo do mapa de token de tipo de metadados nativo do .NET. |
IDiaSession::getNumberOfFunctionFragments_VA |
Recupera o número de fragmentos discontiguos para a função no VA (endereço virtual) especificado. |
IDiaSession::getNumberOfFunctionFragments_RVA |
Recupera o número de fragmentos discontiguos para a função no RVA (endereço virtual relativo) especificado. |
IDiaSession::getFunctionFragments_VA |
Recupera os endereços e os comprimentos de fragmentos discontiguos para a função no va (endereço virtual) especificado. |
IDiaSession::getFunctionFragments_RVA |
Recupera os endereços e os comprimentos de fragmentos discontiguos para a função no RVA (endereço virtual relativo) especificado. |
IDiaSession::getExports |
Recupera um enumerador para todos os símbolos exportados. |
IDiaSession::getHeapAllocationSites |
Recupera um enumerador para todos os símbolos de SymTagHeapAllocationSite. |
IDiaSession::findInputAssemblyFile |
Recupera o arquivo de assembly de entrada nativo do .NET que é o pai do símbolo especificado. |
Observações
É importante chamar o método IDiaSession::put_loadAddress depois de criar o objeto IDiaSession – e o valor passado para o método put_loadAddress deve ser diferente de zero – para que as propriedades de va (endereço virtual) dos símbolos sejam acessíveis. O endereço de carga é proveniente de qualquer programa que carregou o executável que está sendo depurado. Por exemplo, você pode chamar a função Win32 GetModuleInformation para recuperar o endereço de carga do executável, dado um identificador para o executável.
Exemplo
Este exemplo mostra como obter a interface IDiaSession como parte de uma inicialização geral do SDK do DIA (Acesso à Interface de Depuração).
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