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 kontext dotazu pro symboly ladění.
Syntax
IDiaSession : IUnknown
Metody
Následující tabulka ukazuje metody IDiaSession.
| Metoda | Popis |
|---|---|
IDiaSession::get_loadAddress |
Načte adresu načtení spustitelného souboru, který odpovídá symbolům v tomto úložišti symbolů. Jedná se o stejnou hodnotu, která byla předána metodě put_loadAddress. |
IDiaSession::put_loadAddress |
Nastaví adresu načtení spustitelného souboru, který odpovídá symbolům v tomto úložišti symbolů.
Poznámka: Je důležité volat tuto metodu, když získáte IDiaSession objekt a před zahájením používání objektu. |
IDiaSession::get_globalScope |
Načte odkaz na globální obor. |
IDiaSession::getEnumTables |
Načte enumerátor pro všechny tabulky obsažené v úložišti symbolů. |
IDiaSession::getSymbolsByAddr |
Načte enumerátor pro všechny pojmenované symboly ve statických umístěních. |
IDiaSession::findChildren |
Načte všechny podřízené položky zadaného nadřazeného identifikátoru, které odpovídají názvu a typu symbolu. |
IDiaSession::findChildrenEx |
Načte všechny podřízené položky zadaného nadřazeného identifikátoru, které odpovídají názvu a typu symbolu, včetně optimalizovaných místních hodnot. |
IDiaSession::findChildrenExByAddr |
Načte všechny podřízené položky zadaného nadřazeného identifikátoru, které odpovídají typu názvu a symbolu, včetně optimalizovaných místních hodnot, které obsahují nebo jsou nejblíže zadané adrese. |
IDiaSession::findChildrenExByVA |
Načte všechny podřízené položky zadaného nadřazeného identifikátoru, které odpovídají názvu a typu symbolu, včetně optimalizovaných místních hodnot, které obsahují nebo jsou nejblíže zadané virtuální adrese (VA). |
IDiaSession::findChildrenExByRVA |
Načte všechny podřízené položky zadaného nadřazeného identifikátoru, které odpovídají názvu a typu symbolu, včetně optimalizovaných místních hodnot, které obsahují nebo jsou nejblíže zadané relativní virtuální adrese (RVA). |
IDiaSession::findSymbolByAddr |
Načte zadaný typ symbolu, který obsahuje zadanou adresu nebo je k ho nejblíže. |
IDiaSession::findSymbolByRVA |
Načte zadaný typ symbolu, který obsahuje zadanou relativní virtuální adresu (RVA) nebo je k ho nejblíže. |
IDiaSession::findSymbolByVA |
Načte zadaný typ symbolu, který obsahuje zadanou virtuální adresu (VA) nebo je k ho nejblíže. |
IDiaSession::findSymbolByToken |
Načte symbol, který obsahuje zadaný token metadat. |
IDiaSession::symsAreEquiv |
Zkontroluje, jestli jsou ekvivalentní dva symboly. |
IDiaSession::symbolById |
Načte symbol podle jeho jedinečného identifikátoru. |
IDiaSession::findSymbolByRVAEx |
Načte zadaný typ symbolu, který obsahuje nebo je nejblíže zadané relativní virtuální adrese a posunu. |
IDiaSession::findSymbolByVAEx |
Načte zadaný typ symbolu, který obsahuje nebo je nejblíže zadané virtuální adrese a posunu. |
IDiaSession::findFile |
Načte zdrojový soubor podle compilandu a názvu. |
IDiaSession::findFileById |
Načte zdrojový soubor podle identifikátoru zdrojového souboru. |
IDiaSession::findLines |
Načte čísla řádků v zadaném identifikátoru compilandu a zdrojového souboru. |
IDiaSession::findLinesByAddr |
Načte řádky v zadaném compilandu, které obsahují zadanou adresu. |
IDiaSession::findLinesByRVA |
Načte řádky v zadaném compilandu, které obsahují zadanou relativní virtuální adresu. |
IDiaSession::findLinesByVA |
Vyhledá informace o čísle řádku pro řádky obsažené v zadaném rozsahu adres. |
IDiaSession::findLinesByLinenum |
Načte řádky v zadaném compilandu podle zdrojového souboru a čísla řádku. |
IDiaSession::findInjectedSource |
Načte zdroj, který byl umístěn do úložiště symbolů zprostředkovateli atributů nebo jinými komponentami procesu kompilace. |
IDiaSession::getEnumDebugStreams |
Načte výčtovou sekvenci datových proudů ladění. |
IDiaSession::findInlineFramesByAddr |
Načte výčet, který umožňuje klientovi iterovat všechny vložené rámce na dané adrese. |
IDiaSession::findInlineFramesByRVA |
Načte výčet, který umožňuje klientovi iterovat všechny vložené rámce na zadané relativní virtuální adrese (RVA). |
IDiaSession::findInlineFramesByVA |
Načte výčet, který umožňuje klientovi iterovat všechny vložené rámce na zadané virtuální adrese (VA). |
IDiaSession::findInlineeLines |
Načte výčet, který klientovi umožňuje iterovat informace o čísle řádku všech funkcí, které jsou vloženy přímo nebo nepřímo zadaným nadřazeným symbolem. |
IDiaSession::findInlineeLinesByAddr |
Načte výčet, který umožňuje klientovi iterovat informace o čísle řádku všech funkcí, které jsou vloženy přímo nebo nepřímo zadaným nadřazeným symbolem a jsou obsaženy v zadaném rozsahu adres. |
IDiaSession::findInlineeLinesByRVA |
Načte výčet, který umožňuje klientovi iterovat informace o čísle řádku všech funkcí, které jsou vloženy přímo nebo nepřímo zadaným nadřazeným symbolem a jsou obsaženy v zadané relativní virtuální adrese (RVA). |
IDiaSession::findInlineeLinesByVA |
Načte výčet, který umožňuje klientovi iterovat informace o čísle řádku všech funkcí, které jsou vloženy přímo nebo nepřímo zadaným nadřazeným symbolem a jsou obsaženy v zadané virtuální adrese (VA). |
IDiaSession::findInlineeLinesByLinenum |
Načte výčet, který umožňuje klientovi iterovat informace o čísle řádku všech funkcí, které jsou vloženy přímo nebo nepřímo, v zadaném zdrojovém souboru a čísle řádku. |
IDiaSession::findInlineesByName |
Načte výčet, který umožňuje klientovi iterovat informace o čísle řádku všech vložených funkcí, které odpovídají zadanému názvu. |
IDiaSession::findAcceleratorInlineesByLinenum |
Vrátí výčet symbolů pro vložené rámce, které odpovídají zadanému zdrojovému umístění. |
IDiaSession::findSymbolsForAcceleratorPointerTag |
Vrátí výčet symbolů pro proměnnou, kterou zadaná hodnota značky odpovídá ve funkci zástupných procedur nadřazeného akcelerátoru. |
IDiaSession::findSymbolsByRVAForAcceleratorPointerTag |
Vzhledem k odpovídající hodnotě značky tato metoda vrátí výčet symbolů obsažených v zadané nadřazené funkci zástupných procedur akcelerátoru na zadané relativní virtuální adrese. |
IDiaSession::findAcceleratorInlineesByName |
Vrátí výčet symbolů pro vložené rámce odpovídající zadanému názvu vložené funkce. |
IDiaSession::addressForVA |
Vrátí ekvivalentní adresu pro zadanou virtuální adresu (VA). |
IDiaSession::addressForRVA |
Vrátí ekvivalentní adresu pro zadanou relativní virtuální adresu (RVA). |
IDiaSession::findILOffsetsByAddr |
Načte výčet, který umožňuje klientovi iterovat přes posuny jazyka MSIL v zadaném rozsahu adres. |
IDiaSession::findILOffsetsByRVA |
Načte výčet, který umožňuje klientovi iterovat přes posuny jazyka MSIL v zadaném rozsahu relativní virtuální adresy (RVA). |
IDiaSession::findILOffsetsByVA |
Načte výčet, který umožňuje klientovi iterovat přes posuny jazyka MSIL v zadaném rozsahu virtuálních adres (VA). |
IDiaSession::findInputAssemblyFiles |
Načte výčet, který umožňuje klientovi iterovat prostřednictvím vstupních souborů sestavení .NET Native. |
IDiaSession::findInputAssembly |
Načte vstupní soubor sestavení .NET Native podle indexu. |
IDiaSession::findInputAssemblyById |
Načte vstupní soubor sestavení .NET Native jedinečným identifikátorem. |
IDiaSession::getFuncMDTokenMapSize |
Načte velikost v bajtech mapy tokenů funkce metadat .NET Native. |
IDiaSession::getFuncMDTokenMap |
Načte obsah mapy tokenů funkce .NET Native. |
IDiaSession::getTypeMDTokenMapSize |
Načte velikost mapování tokenů typu metadat .NET Native v bajtech. |
IDiaSession::getTypeMDTokenMap |
Načte obsah mapování tokenů typu metadat .NET Native. |
IDiaSession::getNumberOfFunctionFragments_VA |
Načte počet nesouvislých fragmentů funkce na zadané virtuální adrese (VA). |
IDiaSession::getNumberOfFunctionFragments_RVA |
Načte počet nesouvislých fragmentů funkce na zadané relativní virtuální adrese (RVA). |
IDiaSession::getFunctionFragments_VA |
Načte adresy a délky nesouvislých fragmentů funkce na zadané virtuální adrese (VA). |
IDiaSession::getFunctionFragments_RVA |
Načte adresy a délky nesouvislých fragmentů funkce na zadané relativní virtuální adrese (RVA). |
IDiaSession::getExports |
Načte enumerátor pro všechny exportované symboly. |
IDiaSession::getHeapAllocationSites |
Načte enumerátor pro všechny symboly SymTagHeapAllocationSite. |
IDiaSession::findInputAssemblyFile |
Načte vstupní soubor sestavení .NET Native, který je nadřazený zadaný symbol. |
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.
Příklad
Tento příklad ukazuje, jak získat rozhraní IDiaSession jako součást obecné inicializace sady SDK pro přístup k rozhraní ladění (DIA).
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
Hlavička: Dia2.h
Knihovna: diaguids.lib
DLL: msdia80.dll