IDiaSession
Zawiera symbole debugowania kontekście kwerendy.
IDiaSession : IUnknown
Metody
W poniższej tabeli przedstawiono metody IDiaSession.
Metoda |
Opis |
---|---|
Pobiera adres obciążenia dla pliku wykonywalnego, który odpowiada symboli w tym magazynie symbol.Jest to tę samą wartość, która została przekazana do put_loadAddress metody. |
|
Ustawia adres ładowania pliku wykonywalnego, który odpowiada symbole w tym magazynie symbol. ![]()
Wywołanie tej metody po otrzymaniu ważne jest IDiaSession obiektu i przed rozpoczęciem korzystania z obiektu.
|
|
Pobiera odwołanie do zakresu globalnego. |
|
Pobiera moduł wyliczający wszystkich tabel zawartych w magazynie symbol. |
|
Pobiera moduł wyliczający wszystkie symbole nazwane w miejscach statyczne. |
|
Pobiera wszystkie dzieci identyfikator określony obiekt nadrzędny, odpowiadające typowi nazwy i symbol. |
|
Pobiera typ określonego symbolu, który zawiera lub jest najbliżej do określonego adresu. |
|
Pobiera typ określonego symbolu, który zawiera lub najbliżej określonego względny adres wirtualny (RVA). |
|
Pobiera typ określonego symbolu, który zawiera lub najbliżej określony adres wirtualny (VA). |
|
Pobiera symbol, który zawiera token określonych metadanych. |
|
Sprawdza, czy dwa symbole są równoważne. |
|
Pobiera symbolu przez jego identyfikator unikatowy. |
|
Pobiera typ określonego symbolu, który zawiera lub jest najbliżej do określonego adresu wirtualnego względne i przesunięcie. |
|
Pobiera typ określonego symbolu, który zawiera lub jest najbliżej do określonego adresu wirtualnego i przesunięcie. |
|
Pobiera compiland i nazwę pliku źródłowego. |
|
Pobiera plik źródłowy przez identyfikator pliku źródłowego. |
|
Pobiera numery linii w ramach określonego identyfikatora pliku compiland i źródła. |
|
Pobiera wiersze w określonym compiland, zawierające określony adres. |
|
Pobiera wierszy w określonym compiland, które zawierają określony adres wirtualny względne. |
|
Wyszukuje informacje numer wiersza dla wierszy znajdujących się w zakresie określonego adresu. |
|
Pobiera wiersze w określonym compiland przez źródło pliku i numer wiersza. |
|
Pobiera źródła, który został umieszczony w magazynie symbol przez atrybut dostawców lub innych składników procesu kompilacji. |
|
Pobiera wyliczanych sekwencji strumieni danych debugowania. |
|
Pobiera wyliczenia, który umożliwia klientowi iterację wszystkich ramek na dany adres. |
|
Pobiera wyliczenia, który umożliwia klientowi iterację wszystkich ramek na określony względny adres wirtualny (RVA). |
|
Pobiera wyliczenia, który umożliwia klientowi iterację wszystkich ramek na określony adres wirtualny (VA). |
|
Pobiera wyliczenia, który umożliwia iteracyjne przeglądanie informacji numer wiersza wszystkie funkcje, które są inlined, bezpośrednio lub pośrednio, przez symbol nadrzędnego określonego klienta. |
|
Pobiera wyliczenia, który umożliwia iteracyjne przeglądanie informacji numer wiersza wszystkie funkcje, które są inlined, bezpośrednio lub pośrednio, przez symbol nadrzędnego określonego klienta i są zawarte w określony zakres adresów. |
|
Pobiera wyliczenia, który umożliwia iteracyjne przeglądanie informacji numer wiersza wszystkie funkcje, które są inlined, bezpośrednio lub pośrednio, przez symbol nadrzędnego określonego klienta i są zawarte w określonym względny adres wirtualny (RVA). |
|
Pobiera wyliczenia, który umożliwia iteracyjne przeglądanie informacji numer wiersza wszystkie funkcje, które są inlined, bezpośrednio lub pośrednio, przez symbol nadrzędnego określonego klienta i są zawarte w określony adres wirtualny (VA). |
|
Pobiera wyliczenia, który umożliwia iteracyjne przeglądanie informacji numer wiersza wszystkie funkcje, które są inlined, bezpośrednio lub pośrednio w określone źródło pliku i wiersza numer klienta. |
|
Pobiera wyliczenia, który umożliwia klientowi iteracyjne przeglądanie informacji numer wiersza wszystkich funkcji inlined, które odpowiadają określonej nazwie. |
|
Zwraca wyliczenie symbole odpowiadające określonym tag wartość zmiennej Accelerator skrótowej funkcji nadrzędnej. |
|
Biorąc pod uwagę odpowiednie wartości znacznika, metoda zwraca wyliczenie symboli, które są zawarte w funkcji skrótowej Accelerator określony obiekt nadrzędny na określony adres wirtualny względne. |
|
Zwraca wyliczenie symbole dla ramek wbudowanych odpowiadającej nazwie funkcji wbudowanej określony. |
|
Zwraca wyliczenie symbole dla ramek, które odpowiadają lokalizacji określonego źródła. |
Uwagi
Ważne wywołanie jest IDiaSession::put_loadAddress metody po utworzeniu IDiaSession obiektu — oraz wartości przekazywane do put_loadAddress metoda musi być niezerowa — wszystkie symbole dostępne właściwości adres wirtualny (VA).Adres obciążenia pochodzi z programu załadowany debugowanego pliku wykonywalnego.Na przykład, można wywołać funkcji Win32 GetModuleInformation do pobierania adresu obciążenia dla pliku wykonywalnego, biorąc pod uwagę dojście do pliku wykonywalnego.
Przykład
Ten przykład pokazuje sposób uzyskiwania IDiaSession interfejsu jako część ogólnego inicjowania zestawu SDK 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" );
}
}
Wymagania
Nagłówek: Dia2.h
Biblioteki: diaguids.lib
Biblioteka DLL: msdia80.dll