IDiaSession
Poskytuje kontextu dotazu pro symboly ladění.
IDiaSession : IUnknown
Metody
Následující tabulka obsahuje metody IDiaSession.
Metoda |
Description |
---|---|
Načte adresu načtení spustitelného souboru, který odpovídá symboly v tomto úložišti symbol.Jedná se o stejnou hodnotu, který byl předán put_loadAddress metoda. |
|
Nastaví adresu načtení spustitelného souboru, který odpovídá symboly v tomto úložišti symbol. ![]()
Je důležité volání této metody dostanete IDiaSession objektu a před zahájením pomocí objektu.
|
|
Získá referenci na globální rozsah. |
|
Čítač výčtu všech tabulek obsažených v úložišti symbol načte. |
|
Načte čítač výčtu všech pojmenovaných symbolů statické místech. |
|
Načte všechny děti zadaný nadřazený identifikátor typu název a symbol s. |
|
Načte typu určeného symbolu, který obsahuje nebo je nejblíže zadané adresy. |
|
Načte typu určeného symbolu, který obsahuje nebo je nejblíže zadanou relativní virtuální adresu (RVA). |
|
Načte typu určeného symbolu, který obsahuje nebo je nejblíže zadané virtuální adresy (VA). |
|
Načte symbol, který obsahuje token Zadaná metadata. |
|
Zkontroluje, zda dva symboly jsou rovnocenné. |
|
Načte symbol podle jeho jedinečný identifikátor. |
|
Načte typu určeného symbolu, který obsahuje nebo nejblíže k zadanou relativní virtuální adresu a posun. |
|
Načte typu určeného symbolu, který obsahuje nebo nejblíže k zadanou virtuální adresu a posun. |
|
Načte compiland a název zdrojového souboru. |
|
Načte zdrojového souboru pomocí identifikátoru zdrojového souboru. |
|
Načte čísla řádků v rámci zadaný identifikátor souboru compiland a zdroj. |
|
Obnoví řádky v zadaném compiland, které obsahují zadanou adresu. |
|
Obnoví řádky v zadané compiland, které obsahuje zadanou virtuální adresu relativní. |
|
Vyhledá informace číslo řádku pro řádky obsažené v zadaného rozsahu adres. |
|
Obnoví řádky v zadané compiland podle zdrojového souboru a číslem řádku. |
|
Vyhledá zdroj, který byl umístěn do úložiště symbol poskytovatelé atributu nebo jiných součástí procesu kompilace. |
|
Načte výčtu sekvence ladění datových proudů. |
|
Načte výčtu, který umožňuje iterovat všechny vložené rámce na danou adresu klientovi. |
|
Načte výčtu, který umožňuje klientovi iterovat všechny vložené rámce na zadanou relativní virtuální adresu (RVA). |
|
Načte výčtu, který umožňuje klientovi iterovat všechny vložené rámce na zadanou virtuální adresu (VA). |
|
Načte výčtu, který umožňuje klientovi iterovat informace číslo řádku všech funkcí, které jsou inlined, přímo nebo nepřímo symbol zadaný nadřazený. |
|
Načte výčtu, který umožňuje klientovi iterovat informace číslo řádku všech funkcí, které jsou inlined, přímo nebo nepřímo symbol zadaný nadřazený a obsahuje zadaný rozsah adres. |
|
Načte výčtu, který umožňuje klientovi iterovat informace číslo řádku všech funkcí, které jsou inlined, přímo nebo nepřímo symbol zadaný nadřazený a jsou obsaženy v zadanou relativní virtuální adresu (RVA). |
|
Načte výčtu, který umožňuje klientovi iterovat informace číslo řádku všech funkcí, které jsou inlined, přímo nebo nepřímo symbol zadaný nadřazený a obsahuje zadanou virtuální adresu (VA). |
|
Načte výčtu, který umožňuje klientovi iterovat informace číslo řádku všech funkcí, které jsou inlined, přímo nebo nepřímo v zadaný zdrojový soubor a řádek číslo. |
|
Načte výčtu, který umožňuje klientovi iterovat informace číslo řádku všech inlined funkcí, které odpovídají zadaným názvem. |
|
Vrátí výčet symboly pro zadaný příznak hodnota odpovídající proměnné v nadřazené funkce akcelerátor se zakázaným inzerováním. |
|
Uvedena odpovídající hodnota značky, tato metoda vrátí výčet symboly, které jsou obsaženy funkce určené nadřazené akcelerátor se zakázaným inzerováním na zadanou relativní virtuální adresu. |
|
Vrátí hodnotu výčtu symboly pro vložené rámce odpovídající název zadaný vložené funkce. |
|
Výčet symboly pro vložené rámce, které odpovídají vrátí do umístění zadaného zdroje. |
Poznámky
Je důležité pro volání IDiaSession::put_loadAddress metoda po vytvoření IDiaSession objektu – a hodnota předaná put_loadAddress metoda musí být nenulový – pro všechny virtuální adresy (VA) vlastnosti symbolů přístupné.Zatížení adresa pochází z jakéhokoli programu načten spustitelný soubor laděn.Například můžete volat funkci Win32 GetModuleInformation načíst adresu načtení spustitelného souboru, do spustitelného souboru dané popisovač.
Příklad
Tento příklad ukazuje, jak získat IDiaSession rozhraní jako součást obecného inicializace 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" );
}
}
Požadavky
Záhlaví: Dia2.h
Knihovny: diaguids.lib
Knihovna DLL: msdia80.dll