IDiaSession
Fournit un contexte de requête pour les symboles de débogage.
Syntaxe
IDiaSession : IUnknown
Méthode
Le tableau suivant présente les méthodes de IDiaSession
.
Méthode | Description |
---|---|
IDiaSession::get_loadAddress |
Récupère l’adresse de chargement du fichier exécutable qui correspond aux symboles de ce magasin de symboles. Il s’agit de la même valeur que celle passée à la méthode put_loadAddress . |
IDiaSession::put_loadAddress |
Définit l’adresse de chargement du fichier exécutable qui correspond aux symboles de ce magasin de symboles.
Remarque : Il est important d’appeler cette méthode lorsque vous obtenez un objet IDiaSession et avant de commencer à utiliser l’objet. |
IDiaSession::get_globalScope |
Récupère une référence à l’étendue globale. |
IDiaSession::getEnumTables |
Récupère un énumérateur pour toutes les tables contenues dans le magasin de symboles. |
IDiaSession::getSymbolsByAddr |
Récupère un énumérateur pour tous les symboles nommés à des emplacements statiques. |
IDiaSession::findChildren |
Récupère tous les enfants d’un identificateur parent spécifié qui correspondent au nom et au type de symbole. |
IDiaSession::findChildrenEx |
Récupère tous les enfants d’un identificateur parent spécifié qui correspondent au nom et au type de symbole, y compris les locaux optimisés. |
IDiaSession::findChildrenExByAddr |
Récupère tous les enfants d’un identificateur parent spécifié qui correspondent au nom et au type de symbole, y compris les locaux optimisés, qui contiennent ou sont les plus proches, d’une adresse spécifiée. |
IDiaSession::findChildrenExByVA |
Récupère tous les enfants d’un identificateur parent spécifié qui correspondent au nom et au type de symbole, y compris les locaux optimisés, qui contiennent ou sont les plus proches d’une adresse virtuelle spécifiée (VA). |
IDiaSession::findChildrenExByRVA |
Récupère tous les enfants d’un identificateur parent spécifié qui correspondent au nom et au type de symbole, y compris les locaux optimisés, qui contiennent ou sont les plus proches, d’une adresse virtuelle relative spécifiée (RVA). |
IDiaSession::findSymbolByAddr |
Récupère un type de symbole spécifié qui contient, ou est le plus proche, d’une adresse spécifiée. |
IDiaSession::findSymbolByRVA |
Récupère un type de symbole spécifié qui contient, ou est le plus proche, d’une adresse virtuelle relative (RVA) spécifiée. |
IDiaSession::findSymbolByVA |
Récupère un type de symbole spécifié qui contient, ou est le plus proche, d’une adresse virtuelle spécifiée (VA). |
IDiaSession::findSymbolByToken |
Récupère le symbole qui contient un jeton de métadonnées spécifié. |
IDiaSession::symsAreEquiv |
Vérifie si deux symboles sont équivalents. |
IDiaSession::symbolById |
Récupère un symbole par son identificateur unique. |
IDiaSession::findSymbolByRVAEx |
Récupère un type de symbole spécifié qui contient, ou qui est le plus proche, d’une adresse virtuelle relative et d’un décalage spécifiés. |
IDiaSession::findSymbolByVAEx |
Récupère un type de symbole spécifié qui contient, ou est le plus proche, d’une adresse virtuelle et d’un décalage spécifiés. |
IDiaSession::findFile |
Récupère un fichier source par compilation et nom. |
IDiaSession::findFileById |
Récupère un fichier source par identificateur de fichier source. |
IDiaSession::findLines |
Récupère les numéros de ligne au sein d’une compilation et d’un identificateur de fichier source spécifiés. |
IDiaSession::findLinesByAddr |
Récupère les lignes d’une compilation spécifiée qui contiennent une adresse spécifiée. |
IDiaSession::findLinesByRVA |
Récupère les lignes d’une compilation spécifiée qui contiennent une adresse virtuelle relative spécifiée. |
IDiaSession::findLinesByVA |
Recherche les informations de numéro de ligne pour les lignes contenues dans une plage d’adresses spécifiée. |
IDiaSession::findLinesByLinenum |
Récupère les lignes d’une compilation spécifiée par fichier source et numéro de ligne. |
IDiaSession::findInjectedSource |
Récupère une source qui a été placée dans le magasin de symboles par les fournisseurs d’attributs ou d’autres composants du processus de compilation. |
IDiaSession::getEnumDebugStreams |
Récupère une séquence énumérée de flux de données de débogage. |
IDiaSession::findInlineFramesByAddr |
Récupère une énumération qui permet à un client d’effectuer une itération dans toutes les trames inline sur une adresse donnée. |
IDiaSession::findInlineFramesByRVA |
Récupère une énumération qui permet à un client d’effectuer une itération dans l’ensemble des trames inline sur une adresse virtuelle relative (RVA) spécifiée. |
IDiaSession::findInlineFramesByVA |
Récupère une énumération qui permet à un client d’effectuer une itération dans toutes les trames inline sur une adresse virtuelle spécifiée. |
IDiaSession::findInlineeLines |
Récupère une énumération qui permet à un client d’effectuer une itération au sein des informations de numéro de ligne de toutes les fonctions insérées, directement ou indirectement, par le symbole parent spécifié. |
IDiaSession::findInlineeLinesByAddr |
Récupère une énumération qui permet à un client d’itérer au sein des informations de numéro de ligne de toutes les fonctions insérées, directement ou indirectement, par le symbole parent spécifié et qui sont contenues dans la plage d’adresses spécifiée. |
IDiaSession::findInlineeLinesByRVA |
Récupère une énumération qui permet à un client d’itérer au sein des informations de numéro de ligne de toutes les fonctions insérées, directement ou indirectement, par le symbole parent spécifié et qui sont contenues dans l’adresse virtuelle relative spécifiée (RVA). |
IDiaSession::findInlineeLinesByVA |
Récupère une énumération qui permet à un client d’itérer au sein des informations de numéro de ligne de toutes les fonctions inline, directement ou indirectement, par le symbole parent spécifié et qui sont contenues dans l’adresse virtuelle spécifiée (VA). |
IDiaSession::findInlineeLinesByLinenum |
Récupère une énumération qui permet à un client d’itérer au sein des informations de numéro de ligne de toutes les fonctions inline, directement ou indirectement, dans le fichier source et le numéro de ligne spécifiés. |
IDiaSession::findInlineesByName |
Récupère une énumération qui permet à un client d’effectuer une itération au sein des informations de numéro de ligne de toutes les fonctions inline qui correspondent à un nom spécifié. |
IDiaSession::findAcceleratorInlineesByLinenum |
Retourne une énumération de symboles pour les frames inline qui correspondent à l’emplacement source spécifié. |
IDiaSession::findSymbolsForAcceleratorPointerTag |
Retourne une énumération de symboles pour la variable à laquelle correspond la valeur de balise spécifiée dans la fonction stub de l’accélérateur parent. |
IDiaSession::findSymbolsByRVAForAcceleratorPointerTag |
Étant donné une valeur de balise correspondante, cette méthode retourne une énumération de symboles contenus dans une fonction stub d’accélérateur parent spécifiée à une adresse virtuelle relative spécifiée. |
IDiaSession::findAcceleratorInlineesByName |
Retourne une énumération de symboles pour les cadres inline correspondant au nom de fonction inline spécifié. |
IDiaSession::addressForVA |
Retourne l’adresse équivalente pour l’adresse virtuelle spécifiée (VA). |
IDiaSession::addressForRVA |
Retourne l’adresse équivalente pour l’adresse virtuelle relative spécifiée (RVA). |
IDiaSession::findILOffsetsByAddr |
Récupère une énumération qui permet à un client d’effectuer une itération au sein des décalages MSIL au sein d’une plage d’adresses spécifiée. |
IDiaSession::findILOffsetsByRVA |
Récupère une énumération qui permet à un client d’effectuer une itération via les décalages MSIL au sein d’une plage d’adresses virtuelles relatives (RVA) spécifiée. |
IDiaSession::findILOffsetsByVA |
Récupère une énumération qui permet à un client d’effectuer une itération via les décalages MSIL au sein d’une plage d’adresses virtuelles (VA) spécifiée. |
IDiaSession::findInputAssemblyFiles |
Récupère une énumération qui permet à un client d’effectuer une itération dans les fichiers d’assembly d’entrée .NET Native. |
IDiaSession::findInputAssembly |
Récupère un fichier d’assembly d’entrée .NET Native par index. |
IDiaSession::findInputAssemblyById |
Récupère le fichier d’assembly d’entrée .NET Native par identificateur unique. |
IDiaSession::getFuncMDTokenMapSize |
Récupère la taille, en octets, du mappage de jetons de fonction de métadonnées .NET Native. |
IDiaSession::getFuncMDTokenMap |
Récupère le contenu du mappage de jetons de fonction de métadonnées .NET Native. |
IDiaSession::getTypeMDTokenMapSize |
Récupère la taille, en octets, du mappage de jetons de type de métadonnées .NET Native. |
IDiaSession::getTypeMDTokenMap |
Récupère le contenu du mappage de jetons de type de métadonnées .NET Native. |
IDiaSession::getNumberOfFunctionFragments_VA |
Récupère le nombre de fragments discontigués pour la fonction à l’adresse virtuelle spécifiée (VA). |
IDiaSession::getNumberOfFunctionFragments_RVA |
Récupère le nombre de fragments discontiguous pour la fonction au niveau de l’adresse virtuelle relative (RVA) spécifiée. |
IDiaSession::getFunctionFragments_VA |
Récupère les adresses et les longueurs des fragments discontigués pour la fonction à l’adresse virtuelle spécifiée (VA). |
IDiaSession::getFunctionFragments_RVA |
Récupère les adresses et les longueurs des fragments discontigués pour la fonction au niveau de l’adresse virtuelle relative (RVA) spécifiée. |
IDiaSession::getExports |
Récupère un énumérateur pour tous les symboles exportés. |
IDiaSession::getHeapAllocationSites |
Récupère un énumérateur pour tous les symboles SymTagHeapAllocationSite . |
IDiaSession::findInputAssemblyFile |
Récupère le fichier d’assembly d’entrée .NET Native qui est le parent du symbole spécifié. |
Remarques
Il est important d’appeler la méthode IDiaSession::put_loadAddress
après avoir créé l’objet IDiaSession
( et la valeur passée à la méthode put_loadAddress
doit être différente de zéro ) pour que les propriétés d’adresse virtuelle (VA) des symboles soient accessibles. L’adresse de chargement provient du programme chargé par l’exécutable en cours de débogage. Par exemple, vous pouvez appeler la fonction Win32 GetModuleInformation
pour récupérer l’adresse de chargement de l’exécutable, en fonction d’un handle à l’exécutable.
Exemple
Cet exemple montre comment obtenir l’interface IDiaSession
dans le cadre d’une initialisation générale du SDK Dia (Debug Interface Access).
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" );
}
}
Exigences
En-tête : Dia2.h
Bibliothèque : diaguids.lib
DLL : msdia80.dll
Voir aussi
- interfaces (Sdk Debug Interface Access)
- Vue d’ensemble
- exe
IDiaAddressMap
IDiaDataSource
IDiaDataSource::openSession
IDiaSymbol::findChildren
- interroger le . Fichier Pdb