IDiaSession
Fournit une zone de requête pour des symboles de débogage.
IDiaSession : IUnknown
Méthodes
Le tableau suivant répertorie les méthodes d' IDiaSession.
Méthode |
Description |
---|---|
Récupère l'adresse de charge du fichier exécutable qui correspond aux symboles dans ce magasin de symboles. C'est la même valeur passée à la méthode d' put_loadAddress . |
|
Définit l'adresse de charge du fichier exécutable qui correspond aux symboles dans ce magasin de symboles. Notes Il est important d'appeler cette méthode lorsque vous obtenez un objet d' IDiaSession et avant de commencer à utiliser l'objet. |
|
Extrait une référence à la portée globale. |
|
Récupère un énumérateur pour toutes les tables contenues dans le magasin de symboles. |
|
Récupère un énumérateur pour tous les symboles nommés aux emplacements statiques. |
|
Récupère tous les enfants d'un parent identificateur spécifié qui correspondent au nom et le type de symboles. |
|
Récupère un type spécifié de symboles qui contient, ou est le plus proche de, une adresse spécifiée. |
|
Récupère un type spécifié de symboles qui contient, ou est le plus proche de, une adresse virtuelle relative spécifiée (RVA). |
|
Récupère un type spécifié de symboles qui contient, ou est le plus proche de, une adresse virtuelle spécifiée (VA). |
|
Récupère le symbole qui contient un jeton de métadonnées spécifié. |
|
Vérifie si deux symboles sont identiques. |
|
Récupère un symbole par son identificateur unique. |
|
Récupère un type spécifié de symboles qui contient, ou est le plus proche de, une adresse virtuelle et un offset connexes spécifiés. |
|
Récupère un type spécifié de symboles qui contient, ou est le plus proche de, une adresse virtuelle et un offset spécifiés. |
|
Extrait un fichier source par le module et le nom. |
|
Extrait un fichier source par l'identificateur de fichier source. |
|
Récupère les numéros de ligne dans un identificateur spécifié de module et de fichier source. |
|
Récupère les lignes un module spécifié qui contiennent une adresse spécifiée. |
|
Récupère les lignes un module spécifié qui contiennent une adresse virtuelle relative spécifiée. |
|
Recherche des informations de numéro de ligne pour les lignes contenues dans une plage d'adresse spécifiée. |
|
Récupère les lignes un module spécifié par le fichier source et le numéro de ligne. |
|
Extrait une source qui a été définie dans le magasin de symboles par des fournisseurs d'attribut ou d'autres composants du processus de compilation. |
|
Extrait une séquence énumérée de débogage de flux de données. |
|
Extrait une énumération qui permet à un client pour itérer au sein de tous les frames intégrés sur une adresse donnée. |
|
Extrait une énumération qui permet à un client pour itérer au sein de tous les frames intégrés sur une adresse virtuelle relative spécifiée (RVA). |
|
Extrait une énumération qui permet à un client pour itérer au sein de tous les frames intégrés sur une adresse virtuelle spécifiée (VA). |
|
Extrait une énumération qui permet à un client pour itérer au sein de les informations de numéro de ligne de toutes les fonctions qui sont inline, directement ou indirectement, par le symbole parent spécifié. |
|
Extrait une énumération qui permet à un client pour itérer au sein de les informations de numéro de ligne de toutes les fonctions qui sont inline, directement ou indirectement, par le symbole parent spécifié et est contenue dans la marge d'adresse spécifiée. |
|
Extrait une énumération qui permet à un client pour itérer au sein de les informations de numéro de ligne de toutes les fonctions qui sont inline, directement ou indirectement, par le symbole parent spécifié et est contenue dans l'adresse virtuelle relative spécifiée (RVA). |
|
Extrait une énumération qui permet à un client pour itérer au sein de les informations de numéro de ligne de toutes les fonctions qui sont inline, directement ou indirectement, par le symbole parent spécifié et est contenue dans l'adresse virtuelle spécifiée (VA). |
|
Extrait une énumération qui permet à un client pour itérer au sein de les informations de numéro de ligne de toutes les fonctions qui sont inline, directement ou indirectement, dans le fichier source et le numéro de ligne spécifié. |
|
Extrait une énumération qui permet à un client pour itérer au sein de les informations de numéro de ligne de toutes les fonctions inline qui correspondent à un nom spécifié. |
|
Retourne une énumération de symboles pour la variable à la valeur spécifiée de balises correspond à dans la fonction parente stub d'accélérateur. |
|
Donné une valeur correspondante de balise, cette méthode retourne une énumération de symboles qui sont contenus dans une fonction parente spécifiée stub d'accélérateur à une adresse virtuelle relative spécifiée. |
|
Retourne une énumération les symboles pour les frames intégrés correspondant au nom de la fonction inline spécifié. |
|
Retourne une énumération les symboles pour les frames intégrés qui correspondent à l'emplacement spécifié de la source. |
Notes
Il est important d'appeler la méthode de IDiaSession::put_loadAddress après avoir créé l'objet d' IDiaSession )et la valeur passée à la méthode d' put_loadAddress doit être non nulle (pour toutes les propriétés de (VA) d'adresse virtuelle de symboles pour être accessible. L'adresse de chargement provient de la valeur que ce programme a chargé le fichier exécutable en cours de débogage. Par exemple, vous pouvez appeler la fonction GetModuleInformation Win32 pour récupérer l'adresse de charge du fichier exécutable, donnée un handle au fichier exécutable.
Exemple
Cet exemple montre comment obtenir l'interface d' IDiaSession dans le cadre d'une initialisation diamètre générale du Kit de développement logiciel.
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" );
}
}
Configuration requise
En-tête : Dia2.h
Bibliothèque : diaguids.lib
DLL : msdia80.dll
Voir aussi
Tâches
Référence
Autres ressources
Interfaces (Kit de développement logiciel de Debug Interface Access)
Vue d'ensemble (Kit de développement logiciel de Debug Interface Access)