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.
Lekérdezési környezetet biztosít a hibakeresési szimbólumokhoz.
Szintaxis
IDiaSession : IUnknown
Módszerek
Az alábbi táblázat a IDiaSessionmetódusait mutatja be.
| Módszer | Leírás |
|---|---|
IDiaSession::get_loadAddress |
Lekéri a végrehajtható fájl betöltési címét, amely megfelel a szimbólumtároló szimbólumainak. Ez ugyanaz az érték, amelyet a put_loadAddress metódusnak ad át. |
IDiaSession::put_loadAddress |
Beállítja a végrehajtható fájl betöltési címét, amely megfelel a szimbólumtároló szimbólumainak.
Megjegyzés: Fontos ezt a metódust meghívni, amikor egy IDiaSession objektumot kap, és mielőtt elkezdené használni az objektumot. |
IDiaSession::get_globalScope |
A globális hatókörre mutató hivatkozást kér le. |
IDiaSession::getEnumTables |
Lekéri a szimbólumtárolóban található összes tábla enumerátorát. |
IDiaSession::getSymbolsByAddr |
Lekéri az összes elnevezett szimbólum enumerátorát statikus helyeken. |
IDiaSession::findChildren |
Egy megadott szülőazonosító összes gyermekét lekéri, amely megfelel a névnek és a szimbólumtípusnak. |
IDiaSession::findChildrenEx |
Lekéri egy megadott szülőazonosító összes gyermekét, amely megfelel a névnek és a szimbólumtípusnak, beleértve az optimalizált helyieket is. |
IDiaSession::findChildrenExByAddr |
Lekéri egy megadott szülőazonosító összes gyermekét, amely megfelel a névnek és a szimbólumtípusnak, beleértve az optimalizált helyieket is, amelyek egy megadott címet tartalmaznak vagy a legközelebbiek. |
IDiaSession::findChildrenExByVA |
Lekéri egy megadott szülőazonosító összes gyermekét, amely megfelel a névnek és a szimbólumtípusnak, beleértve az optimalizált helyieket is, amelyek egy megadott virtuális címet (VA) tartalmaznak vagy a legközelebbiek. |
IDiaSession::findChildrenExByRVA |
Lekéri egy megadott szülőazonosító összes gyermekét, amely megfelel a névnek és a szimbólumtípusnak, beleértve az optimalizált helyieket is, amelyek egy megadott relatív virtuális címet (RVA) tartalmaznak vagy a legközelebbiek. |
IDiaSession::findSymbolByAddr |
Egy megadott címet tartalmazó vagy ahhoz legközelebbi szimbólumtípust kér le. |
IDiaSession::findSymbolByRVA |
Egy megadott szimbólumtípust kér le, amely egy megadott relatív virtuális címet (RVA) tartalmaz vagy a legközelebbi. |
IDiaSession::findSymbolByVA |
Egy megadott szimbólumtípust kér le, amely egy megadott virtuális címet (VA) tartalmaz vagy a legközelebbi. |
IDiaSession::findSymbolByToken |
Lekéri a megadott metaadat-jogkivonatot tartalmazó szimbólumot. |
IDiaSession::symsAreEquiv |
Ellenőrzi, hogy két szimbólum egyenértékű-e. |
IDiaSession::symbolById |
Egy szimbólumot az egyedi azonosítójával kér le. |
IDiaSession::findSymbolByRVAEx |
Egy megadott szimbólumtípust kér le, amely egy megadott relatív virtuális címet és eltolást tartalmaz vagy a legközelebbi. |
IDiaSession::findSymbolByVAEx |
Egy megadott szimbólumtípust kér le, amely egy megadott virtuális címet és eltolást tartalmaz vagy a legközelebbi. |
IDiaSession::findFile |
A forrásfájlt compiland és name alapján kéri le. |
IDiaSession::findFileById |
Forrásfájl lekérése forrásfájl-azonosító alapján. |
IDiaSession::findLines |
Egy megadott compiland- és forrásfájl-azonosítón belül beolvassa a sorszámokat. |
IDiaSession::findLinesByAddr |
Lekéri egy megadott címmel rendelkező megadott compiland sorait. |
IDiaSession::findLinesByRVA |
Egy megadott relatív virtuális címet tartalmazó sorok lekérése egy megadott compilandban. |
IDiaSession::findLinesByVA |
Megkeresi a megadott címtartományban lévő sorok sorszámadatait. |
IDiaSession::findLinesByLinenum |
Egy megadott compiland sorait kéri le forrásfájl és sorszám alapján. |
IDiaSession::findInjectedSource |
Lekéri az attribútumszolgáltatók vagy a fordítási folyamat más összetevői által a szimbólumtárolóba helyezett forrást. |
IDiaSession::getEnumDebugStreams |
Lekéri az adatfolyamok hibakeresésének enumerált sorozatát. |
IDiaSession::findInlineFramesByAddr |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy egy adott cím összes beágyazott keretén végig haladjon. |
IDiaSession::findInlineFramesByRVA |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy egy adott relatív virtuális cím (RVA) összes beágyazott képkockáján át haladjon. |
IDiaSession::findInlineFramesByVA |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy egy adott virtuális cím (VA) összes beágyazott képkockáján végig haladjon. |
IDiaSession::findInlineeLines |
Lekéri az enumerálást, amely lehetővé teszi, hogy az ügyfél a megadott szülőszimbólummal közvetlenül vagy közvetve beágyazott összes függvény sorszámadatain keresztül iterálja azokat. |
IDiaSession::findInlineeLinesByAddr |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy a megadott szülőszimbólummal közvetlenül vagy közvetve beágyazott összes függvény sorszámadatain keresztül iterálja azokat, amelyek a megadott címtartományban találhatók. |
IDiaSession::findInlineeLinesByRVA |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy a megadott szülőszimbólummal közvetlenül vagy közvetve beágyazott összes függvény sorszámadatain keresztül iterálja azokat, amelyek a megadott relatív virtuális címben (RVA) vannak tárolva. |
IDiaSession::findInlineeLinesByVA |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy a megadott szülőszimbólummal közvetlenül vagy közvetve beágyazott összes függvény sorszámadatain keresztül iterálja azokat, amelyek a megadott virtuális címben (VA) vannak tárolva. |
IDiaSession::findInlineeLinesByLinenum |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy a megadott forrásfájlban és sorszámban közvetlenül vagy közvetve beágyazott összes függvény sorszámadatain keresztül iterálja azokat. |
IDiaSession::findInlineesByName |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy a megadott névnek megfelelő összes beágyazott függvény sorszámadatain át haladjon. |
IDiaSession::findAcceleratorInlineesByLinenum |
A megadott forráshelynek megfelelő beágyazott keretek szimbólumainak számbavételét adja vissza. |
IDiaSession::findSymbolsForAcceleratorPointerTag |
A szülőgyorsító csonkfüggvényben megadott címkeértéknek megfelelő változó szimbólumainak számbavételét adja vissza. |
IDiaSession::findSymbolsByRVAForAcceleratorPointerTag |
A megfelelő címkeérték alapján ez a metódus egy megadott szülőgyorsító-csonkfüggvényben található szimbólumok számbavételét adja vissza egy megadott relatív virtuális címben. |
IDiaSession::findAcceleratorInlineesByName |
A megadott beágyazott függvénynévnek megfelelő beágyazott keretek szimbólumainak számbavételét adja vissza. |
IDiaSession::addressForVA |
A megadott virtuális cím (VA) egyenértékű címét adja vissza. |
IDiaSession::addressForRVA |
A megadott relatív virtuális cím (RVA) egyenértékű címét adja vissza. |
IDiaSession::findILOffsetsByAddr |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy egy megadott címtartományon belüli MSIL-eltolásokon keresztül iteráljon. |
IDiaSession::findILOffsetsByRVA |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy egy megadott relatív virtuális címtartományon (RVA) belül az MSIL-eltolásokon keresztül iteráljon. |
IDiaSession::findILOffsetsByVA |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára, hogy egy megadott virtuális címtartományon (VA) belüli MSIL-eltolásokon keresztül iteráljon. |
IDiaSession::findInputAssemblyFiles |
Lekéri az enumerálást, amely lehetővé teszi az ügyfél számára a .NET natív bemeneti szerelvényfájljainak iterálását. |
IDiaSession::findInputAssembly |
Egy .NET natív bemeneti szerelvényfájlt kér le index alapján. |
IDiaSession::findInputAssemblyById |
A .NET natív bemeneti szerelvényfájlt kéri le egyedi azonosító alapján. |
IDiaSession::getFuncMDTokenMapSize |
Bájtban lekéri a .NET natív metaadatfüggvény-jogkivonat-leképezésének méretét. |
IDiaSession::getFuncMDTokenMap |
Lekéri a .NET natív metaadatfüggvény-jogkivonat-leképezésének tartalmát. |
IDiaSession::getTypeMDTokenMapSize |
Bájtban lekéri a .NET natív metaadattípus-jogkivonat-leképezésének méretét. |
IDiaSession::getTypeMDTokenMap |
Lekéri a .NET natív metaadattípus-jogkivonat-leképezésének tartalmát. |
IDiaSession::getNumberOfFunctionFragments_VA |
Lekéri a függvény különálló töredékeinek számát a megadott virtuális címen (VA). |
IDiaSession::getNumberOfFunctionFragments_RVA |
Lekéri a függvény nem egyértelmű töredékeinek számát a megadott relatív virtuális címen (RVA). |
IDiaSession::getFunctionFragments_VA |
Lekéri a függvény különálló töredékeinek címét és hosszát a megadott virtuális címen (VA). |
IDiaSession::getFunctionFragments_RVA |
Lekéri a függvény különálló töredékeinek címét és hosszát a megadott relatív virtuális címen (RVA). |
IDiaSession::getExports |
Lekéri az összes exportált szimbólum enumerátorát. |
IDiaSession::getHeapAllocationSites |
Lekéri az összes SymTagHeapAllocationSite szimbólum enumerátorát. |
IDiaSession::findInputAssemblyFile |
Lekéri a megadott szimbólum szülőjének számító .NET natív bemeneti szerelvényfájlt. |
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.
Példa
Ez a példa bemutatja, hogyan szerezheti be a IDiaSession 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<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" );
}
}
Követelmények
Fejléc: Dia2.h
Könyvtár: diaguids.lib
DLL: msdia80.dll