Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Kiterjesztett lekérdezési környezetet biztosít a hibakeresési szimbólumokhoz.
Szintaxis
IDiaSessionEx : IDiaSession
Módszerek
Az alábbi táblázat a IDiaSessionExmetódusait mutatja be.
| Módszer | Leírás |
|---|---|
IDiaSessionEx::isFastLinkPDB |
Egy logikai értéket kér le, amely azt jelzi, hogy a forrás hibakeresési információja /DEBUG:fastlink. |
IDiaSessionEx::isPortablePDB |
Egy logikai értéket kér le, amely azt jelzi, hogy a forrás hibakeresési információi a Portable PDB formátumot használják. |
| "IDiaSessionEx::getSourceLinkInfo" | Lekéri a forráshivatkozás információinak számbavételét. |
Megjegyzések
A IDiaSession objektum létrehozása után fontos meghívni a IDiaSession::put_loadAddress metódust – és a put_loadAddress metódusnak átadott értéknek nem nullának kell lennie –, hogy a szimbólumok bármely virtuális címtulajdonsága elérhető legyen. A betöltési cím attól a programtól származik, amely betöltötte a hibakeresés alatt álló végrehajtható fájlt. Meghívhatja például a Win32 függvényt GetModuleInformation, hogy lekérje a végrehajtható fájl terhelési címét egy leíróval.
Mivel IDiaSessionEx örökli a IDiaSession, az alos metódusa megegyezik, és bármely olyan függvénynek átadható, amely elfogadja a IDiaSession.
Példa
Ez a példa bemutatja, hogyan szerezheti be a IDiaSessionEx felületet a Hibakeresési felületi hozzáférés (DIA) SDK általános inicializálásának részeként.
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?" );
}
}
Követelmények
Fejléc: Dia2.h
Könyvtár: diaguids.lib
DLL: msdia140.dll