Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poskytuje rozšířený kontext dotazu pro symboly ladění.
Syntax
IDiaSessionEx : IDiaSession
Metody
Následující tabulka ukazuje metody IDiaSessionEx.
| Metoda | Popis |
|---|---|
IDiaSessionEx::isFastLinkPDB |
Načte logickou hodnotu označující, že zdrojové ladicí informace byly vytvořeny pomocí /DEBUG:fastlink. |
IDiaSessionEx::isPortablePDB |
Načte logickou hodnotu označující, že informace o ladění zdroje používají formát Portable PDB. |
| IDiaSessionEx::getSourceLinkInfo | Načte výčet informací o zdrojovém propojení. |
Poznámky
Po vytvoření objektu IDiaSession je důležité volat metodu IDiaSession::put_loadAddress a hodnota předaná metodě put_loadAddress musí být nenulová, aby byly přístupné všechny vlastnosti virtuální adresy (VA). Načítá adresa pochází z libovolného programu načteného spustitelného souboru, který je laděný. Můžete například volat funkci Win32 GetModuleInformation načtení adresy pro načtení spustitelného souboru, a to z důvodu popisovače spustitelného souboru.
Protože IDiaSessionEx dědí z IDiaSession, má alos všechny stejné metody a lze jej předat jakékoli funkci, která přijímá IDiaSession.
Příklad
Tento příklad ukazuje, jak získat rozhraní IDiaSessionEx jako součást obecné inicializace sady SDK pro přístup k rozhraní ladění (DIA).
CComPtr<IDiaDataSource> pSource;
ComPtr<IDiaSessionEx> psessionex;
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 msdia140.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" );
}
}
ComPtr<IDiaSession> psession;
if ( FAILED( pSource->openSession( &psession ) ) )
{
Fatal( "openSession" );
}
if ( FAILED( psession.QueryInterface(&psessionex) ) )
{
Fatal( "Failed to upgrade from IDiaSession to IDiaSessionEx, are you using an older version of msdia140.dll?" );
}
}
Požadavky
Hlavička: Dia2.h
Knihovna: diaguids.lib
DLL: msdia140.dll