IDiaSessionIDiaSession

Fournit un contexte de requête pour les symboles de débogage.Provides a query context for debug symbols.

SyntaxeSyntax

IDiaSession : IUnknown  

MéthodesMethods

Le tableau suivant présente les méthodes de IDiaSession.The following table shows the methods of IDiaSession.

MéthodeMethod DescriptionDescription
IDiaSession::get_loadAddressIDiaSession::get_loadAddress Récupère l’adresse de chargement du fichier exécutable qui correspond aux symboles dans ce magasin de symboles.Retrieves the load address for the executable file that corresponds to the symbols in this symbol store. Ceci est la même valeur que celle qui a été passée à la put_loadAddress (méthode).This is the same value that was passed to the put_loadAddress method.
IDiaSession::put_loadAddressIDiaSession::put_loadAddress Définit l’adresse de chargement du fichier exécutable qui correspond aux symboles dans ce magasin de symboles.Sets the load address for the executable file that corresponds to the symbols in this symbol store. Remarque : qu’il est important d’appeler cette méthode lorsque vous obtenez un IDiaSession de l’objet et avant de commencer à l’aide de l’objet.Note: It is important to call this method when you get an IDiaSession object and before you start using the object.
IDiaSession::get_globalScopeIDiaSession::get_globalScope Récupère une référence à la portée globale.Retrieves a reference to the global scope.
IDiaSession::getEnumTablesIDiaSession::getEnumTables Récupère un énumérateur pour toutes les tables contenues dans le magasin de symboles.Retrieves an enumerator for all tables contained in the symbol store.
IDiaSession::getSymbolsByAddrIDiaSession::getSymbolsByAddr Récupère un énumérateur pour tous les symboles nommés à des emplacements statiques.Retrieves an enumerator for all named symbols at static locations.
IDiaSession::findChildrenIDiaSession::findChildren Récupère tous les enfants d’un identificateur parent spécifié qui correspond au type de nom et le symbole.Retrieves all children of a specified parent identifier that match the name and symbol type.
IDiaSession::findSymbolByAddrIDiaSession::findSymbolByAddr Récupère un type de symbole spécifié qui contienne, ou qui est le plus proche, à une adresse spécifiée.Retrieves a specified symbol type that contains, or is closest to, a specified address.
IDiaSession::findSymbolByRVAIDiaSession::findSymbolByRVA Récupère un type de symbole spécifié qui contienne, ou qui est le plus proche d’une adresse virtuelle relative (RVA) spécifiée.Retrieves a specified symbol type that contains, or is closest to, a specified relative virtual address (RVA).
IDiaSession::findSymbolByVAIDiaSession::findSymbolByVA Récupère un type de symbole spécifié qui contienne, ou qui est le plus proche d’une adresse virtuelle spécifiée (VA).Retrieves a specified symbol type that contains, or is closest to, a specified virtual address (VA).
IDiaSession::findSymbolByTokenIDiaSession::findSymbolByToken Récupère le symbole qui contient un jeton de métadonnées spécifié.Retrieves the symbol that contains a specified metadata token.
IDiaSession::symsAreEquivIDiaSession::symsAreEquiv Vérifie si deux symboles sont équivalents.Checks to see if two symbols are equivalent.
IDiaSession::symbolByIdIDiaSession::symbolById Récupère un symbole par son identificateur unique.Retrieves a symbol by its unique identifier.
IDiaSession::findSymbolByRVAExIDiaSession::findSymbolByRVAEx Récupère un type de symbole spécifié qui contienne, ou qui est le plus proche d’une adresse virtuelle relative spécifiée et le décalage.Retrieves a specified symbol type that contains, or is closest to, a specified relative virtual address and offset.
IDiaSession::findSymbolByVAExIDiaSession::findSymbolByVAEx Récupère un type de symbole spécifié qui contienne, ou qui est le plus proche d’une adresse virtuelle spécifiée et le décalage.Retrieves a specified symbol type that contains, or is closest to, a specified virtual address and offset.
IDiaSession::findFileIDiaSession::findFile Récupère un fichier source par compiland et le nom.Retrieves a source file by compiland and name.
IDiaSession::findFileByIdIDiaSession::findFileById Récupère un fichier source par l’identificateur du fichier source.Retrieves a source file by source file identifier.
IDiaSession::findLinesIDiaSession::findLines Récupère les numéros de ligne dans un identificateur de fichier compiland et source spécifié.Retrieves line numbers within a specified compiland and source file identifier.
IDiaSession::findLinesByAddrIDiaSession::findLinesByAddr Récupère les lignes qui contiennent une adresse spécifiée dans un module spécifié.Retrieves the lines in a specified compiland that contain a specified address.
IDiaSession::findLinesByRVAIDiaSession::findLinesByRVA Récupère les lignes qui contiennent une adresse virtuelle relative spécifiée dans un module spécifié.Retrieves the lines in a specified compiland that contain a specified relative virtual address.
IDiaSession::findLinesByVAIDiaSession::findLinesByVA Recherche les informations de numéro de ligne pour les lignes contenues dans une plage d’adresses spécifiée.Finds the line number information for lines contained in a specified address range.
IDiaSession::findLinesByLinenumIDiaSession::findLinesByLinenum Récupère les lignes dans un compiland spécifié par le nombre de fichiers et de la ligne source.Retrieves the lines in a specified compiland by source file and line number.
IDiaSession::findInjectedSourceIDiaSession::findInjectedSource Récupère une source qui a été placée dans le magasin de symboles par les fournisseurs d’attribut ou d’autres composants du processus de compilation.Retrieves a source that has been placed into the symbol store by attribute providers or other components of the compilation process.
IDiaSession::getEnumDebugStreamsIDiaSession::getEnumDebugStreams Récupère une séquence énumérée débogage de flux de données.Retrieves an enumerated sequence of debug data streams.
IDiaSession::findInlineFramesByAddrIDiaSession::findInlineFramesByAddr Récupère une énumération qui permet à un client itérer au sein de tous les cadres inline sur une adresse donnée.Retrieves an enumeration that allows a client to iterate through all of the inline frames on a given address.
IDiaSession::findInlineFramesByRVAIDiaSession::findInlineFramesByRVA Récupère une énumération qui permet à un client itérer au sein de tous les cadres inline sur une adresse virtuelle relative (RVA) spécifiée.Retrieves an enumeration that allows a client to iterate through all of the inline frames on a specified relative virtual address (RVA).
IDiaSession::findInlineFramesByVAIDiaSession::findInlineFramesByVA Récupère une énumération qui permet à un client itérer au sein de tous les cadres inline sur une adresse virtuelle spécifiée (VA).Retrieves an enumeration that allows a client to iterate through all of the inline frames on a specified virtual address (VA).
IDiaSession::findInlineeLinesIDiaSession::findInlineeLines Récupère une énumération qui permet à un client parcourir les informations de numéro de ligne de toutes les fonctions qui sont incorporées, directement ou indirectement, par le symbole parent spécifié.Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol.
IDiaSession::findInlineeLinesByAddrIDiaSession::findInlineeLinesByAddr Récupère une énumération qui permet à un client parcourir les informations de numéro de ligne de toutes les fonctions qui sont incorporées, directement ou indirectement, par le symbole parent spécifié et est contenue dans la plage d’adresses spécifiée.Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol and are contained within the specified address range.
IDiaSession::findInlineeLinesByRVAIDiaSession::findInlineeLinesByRVA Récupère une énumération qui permet à un client parcourir les informations de numéro de ligne de toutes les fonctions qui sont incorporées, directement ou indirectement, par le symbole parent spécifié et est contenue dans l’adresse virtuelle relative (RVA) spécifié.Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol and are contained within the specified relative virtual address (RVA).
IDiaSession::findInlineeLinesByVAIDiaSession::findInlineeLinesByVA Récupère une énumération qui permet à un client parcourir les informations de numéro de ligne de toutes les fonctions qui sont incorporées, directement ou indirectement, par le symbole parent spécifié et est contenue dans l’adresse virtuelle spécifiée (VA).Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, by the specified parent symbol and are contained within the specified virtual address (VA).
IDiaSession::findInlineeLinesByLinenumIDiaSession::findInlineeLinesByLinenum Récupère une énumération qui permet à un client parcourir les informations de numéro de ligne de toutes les fonctions qui sont incorporées, directement ou indirectement, dans le nombre de fichiers et de la ligne source spécifié.Retrieves an enumeration that allows a client to iterate through the line number information of all functions that are inlined, directly or indirectly, in the specified source file and line number.
IDiaSession::findInlineesByNameIDiaSession::findInlineesByName Récupère une énumération qui permet à un client parcourir les informations de numéro de ligne de toutes les fonctions inline qui correspondent à un nom spécifié.Retrieves an enumeration that allows a client to iterate through the line number information of all inlined functions that match a specified name.
IDiaSession::findSymbolsForAcceleratorPointerTagIDiaSession::findSymbolsForAcceleratorPointerTag Retourne une énumération de symboles de la valeur de la balise spécifiée correspond à la variable dans la fonction de stub accélérateur parent.Returns an enumeration of symbols for the variable that the specified tag value corresponds to in the parent Accelerator stub function.
IDiaSession::findSymbolsByRVAForAcceleratorPointerTagIDiaSession::findSymbolsByRVAForAcceleratorPointerTag Une valeur correspondante de la balise donnée, cette méthode retourne une énumération de symboles contenus dans une fonction de stub d’accélérateur parent spécifié à une adresse virtuelle relative spécifiée.Given a corresponding tag value, this method returns an enumeration of symbols that are contained in a specified parent Accelerator stub function at a specified relative virtual address.
IDiaSession::findAcceleratorInlineesByNameIDiaSession::findAcceleratorInlineesByName Retourne une énumération de symboles de cadres correspondant au nom de la fonction inline spécifiés.Returns an enumeration of symbols for inline frames corresponding to the specified inline function name.
IDiaSession::findAcceleratorInlineesByLinenumIDiaSession::findAcceleratorInlineesByLinenum Retourne une énumération de symboles pour les cadres qui correspondent à l’emplacement source spécifié.Returns an enumeration of symbols for inline frames that correspond to the specified source location.

NotesRemarks

Il est important d’appeler le IDiaSession::put_loadAddress méthode après avoir créé le IDiaSession objet : et la valeur passée à la put_loadAddress méthode doit être différente de zéro : pour toutes les propriétés d’adresse virtuelle (VA) de symboles accessible.It is important to call the IDiaSession::put_loadAddress method after creating the IDiaSession object — and the value passed to the put_loadAddress method must be non-zero — for any virtual address (VA) properties of symbols to be accessible. L’adresse de chargement est fourni à partir de tout programme chargé de l’exécutable en cours de débogage.The load address comes from whatever program loaded the executable being debugged. Par exemple, vous pouvez appeler la fonction Win32 GetModuleInformation pour récupérer l’adresse de chargement pour le fichier exécutable, en fonction d’un handle au fichier exécutable.For example, you can call the Win32 function GetModuleInformation to retrieve the load address for the executable, given a handle to the executable.

ExempleExample

Cet exemple montre comment obtenir le IDiaSession interface en tant que partie d’un général d’initialisation de DIA SDK.This example shows how to obtain the IDiaSession interface as part of a general initialization of the DIA 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" );  
    }  
}  

SpécificationsRequirements

En-tête : Dia2.hHeader: Dia2.h

Bibliothèque : diaguids.libLibrary: diaguids.lib

DLL : msdia80.dllDLL: msdia80.dll

Voir aussiSee Also

Interfaces (Debug Interface Access SDK) Interfaces (Debug Interface Access SDK)
Vue d’ensemble Overview
Exe Exe
IDiaAddressMap IDiaAddressMap
IDiaDataSource IDiaDataSource
IDiaDataSource::openSession IDiaDataSource::openSession
IDiaSymbol::findChildren IDiaSymbol::findChildren
Interrogation du fichier .PdbQuerying the .Pdb File