IDiaSymbol
Opisuje właściwości instancji symbolu.
IDiaSymbol : IUnknown
Metody w kolejności alfabetycznej
W poniższej tabeli przedstawiono metody IDiaSymbol.
[!UWAGA]
Symbole zwróci danych istotnych dla tylko niektóre z tych metod, w zależności od typu symbolu.Jeśli metoda zwraca S_OK, zwracana metody ma znaczenie danych.
Metoda |
Opis |
---|---|
Pobiera wszystkie dzieci symbol. |
|
Pobiera dzieci symbolu.Ta metoda jest rozszerzona wersja IDiaSymbol::findChildren. |
|
Pobiera dzieci symbol, które są ważne na określony adres. |
|
Pobiera dzieci symbol, które są ważne w określonym względny adres wirtualny (RVA). |
|
Pobiera dzieci symbol, które są ważne na określony adres wirtualny. |
|
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 klientowi iteracyjne przeglądanie informacji numer wiersza wszystkie funkcje, które są inlined, bezpośrednio lub pośrednio, w tym symbolu. |
|
Pobiera wyliczenia, który umożliwia iteracyjne przeglądanie informacji numer wiersza wszystkie funkcje, które są inlined, bezpośrednio lub pośrednio, w tym symbolu w zakresie określonego adresu klienta. |
|
Pobiera wyliczenia, który umożliwia klientowi iteracyjne przeglądanie informacji numer wiersza wszystkie funkcje, które są inlined, bezpośrednio lub pośrednio, w tym symbolu w ramach określonego względny adres wirtualny (RVA). |
|
Pobiera wyliczenia, który umożliwia klientowi iteracyjne przeglądanie informacji numer wiersza wszystkie funkcje, które są inlined, bezpośrednio lub pośrednio, w tym symbolu w określony adres wirtualny (VA). |
|
Biorąc pod uwagę odpowiednie wartości znacznika, metoda zwraca wyliczenie symboli, które są zawarte w tej funkcji skrótowej na określony adres wirtualny względne. |
|
Zwraca liczbę tagów wskaźnik accelerator funkcji skrótowej C++ AMP. |
|
Zwraca wszystkie accelerator wskaźnika tagu wartości, które odpowiadają skrótowej funkcji akceleratora C++ AMP. |
|
Pobiera modyfikator dostępu członka klasy. |
|
Pobiera przesunięcia część adresu lokalizacji. |
|
Pobiera sekcji część adresu lokalizacji. |
|
Pobiera flagę wskazującą, czy inny symbol odwołuje się do tego adresu. |
|
Pobiera wartość wieku bazy danych programu. |
|
Pobiera identyfikator symbol typu indeksu tablicy. |
|
Pobiera identyfikator typu indeksu tablicy symbolu. |
|
Pobiera numer wersji głównej back-end. |
|
Pobiera numer wersji pomocniczej back-end. |
|
Pobiera numer kompilacji back-end. |
|
Pobiera przesunięcie danych podstawowych. |
|
Pobiera dane podstawowe gniazdo. |
|
Pobiera symbol, z którym jest oparty wskaźnik. |
|
Pobiera identyfikator symbol, z którym jest oparty wskaźnik. |
|
Pobiera tag typu typu prostego. |
|
Pobiera pozycji bitu lokalizacji. |
|
Pobiera wbudowanych rodzaj typu HLSL. |
|
Zwraca wskaźnik konwencja wywołania metody. |
|
Pobiera odwołanie do obiektu nadrzędnego klasy symbolu. |
|
Pobiera identyfikator klasy nadrzędnej symbolu. |
|
Pobiera flagę wskazującą, czy symbol odwołuje się do adresu kodu. |
|
Pobiera flagę wskazującą, czy symbol został wygenerowany przez kompilator. |
|
Pobiera nazwę kompilator używane do tworzenia Jednostka kompilacji. |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika ma konstruktora. |
|
Pobiera zawierających symbol ten symbol. |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika jest stała. |
|
Pobiera numer elementów na liście lub w tablicy. |
|
Pobiera numer zakresy prawidłowy adres skojarzony symbol lokalnych. |
|
Pobiera flagę wskazującą, czy funkcja używa niestandardowych konwencję wywołania. |
|
Pobiera bajtów danych symbolu OEM. |
|
Pobiera zmiennej klasyfikacji symbol danych. |
|
Pobiera flagę opisujący funkcje edycji i Kontynuuj skompilowany program lub jednostki. |
|
Pobiera flagę wskazującą, czy funkcja używa zwrotu. |
|
Pobiera numer wersji głównej frontonu. |
|
Pobiera numer wersji pomocniczej frontonu. |
|
Pobiera numer kompilacji frontonu. |
|
Pobiera flagę wskazującą, czy symbol publicznych odwołuje się do funkcji. |
|
Pobiera identyfikator GUID dla symbolu. |
|
Pobiera flagę wskazującą, czy funkcja zawiera wywołanie alloca. |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika ma wszystkie operatory przypisania zdefiniowane. |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika ma wszystkie operatory cast zdefiniowane. |
|
Pobiera flagę wskazującą, czy compiland zawiera wszelkie informacje debugowania. |
|
Pobiera flagę wskazującą, czy w funkcji obsługi wyjątków C++ stylu. |
|
Pobiera flagę wskazującą, czy w funkcji obsługi wyjątków asynchronicznego. |
|
Pobiera flagę wskazującą, czy funkcja ma wbudowany zestaw. |
|
Pobiera flagę wskazującą, czy funkcja zawiera polecenia longjmp (część c styl wyjątek). |
|
Pobiera flagę wskazującą, czy moduł zawiera kod zarządzany. |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika ma zagnieżdżone definicje typów. |
|
Pobiera flagę wskazującą, czy funkcja lub compiland ma kontrole bezpieczeństwa w (via /GS (Sprawdzanie zabezpieczeń bufora) przełącznik kompilatora). |
|
Pobiera flagę wskazującą, czy funkcja ma strukturalnej obsługi wyjątków w stylu systemu Win32. |
|
Pobiera flagę wskazującą, czy funkcja zawiera polecenia setjmp. |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika jest pośrednie wirtualne klasy podstawowej. |
|
Pobiera flagę wskazującą, czy funkcja został oznaczony atrybutem wbudowanej. |
|
Pobiera flagę wskazującą, czy funkcja ma powrotu z instrukcji przerwania. |
|
Pobiera flagę wskazującą, czy funkcja jest funkcja wirtualne klasy podstawowej. |
|
Pobiera flagę wskazującą, czy symbol odpowiada udostępnionego zmiennej lokalnej grupy kod skompilowany do akceleratora AMP C++. |
|
Pobiera flagę wskazującą, czy symbol odpowiada definicji zakresu symbol dla składnika tag zmiennej wskaźnik kod skompilowany do akceleratora AMP C++.Symbol zakresu definicji jest lokalizację zmiennej dla zakresu adresów. |
|
Wskazuje, czy symbol odpowiada symbol funkcji najwyższego poziomu dla modułu cieniującego sporządzanych dla skrótu, który odpowiada parallel_for_each wywołania. |
|
Pobiera flagę wskazującą, czy dane jest częścią agregacji wielu symboli. |
|
Pobiera flagę wskazującą, czy plik symbolu zawiera typy C. |
|
Pobiera flagę wskazującą, czy moduł został przekonwertowany z typowych pośrednie języka (CIL) do kodu macierzystego. |
|
Pobiera flagę wskazującą, czy elementy typu danych zdefiniowanego przez użytkownika są wyrównane do granicy szczególnych. |
|
Określa, czy ten symbol reprezentuje danych wysokiego poziomu modułu cieniującego języka (HLSL). |
|
Pobiera flagę wskazującą, czy moduł został skompilowany z /hotpatch (Utwórz obraz możliwy do poprawiania w trakcie działania) przełącznik kompilatora. |
|
Pobiera flagę wskazującą, czy compiland zarządzanych było połączone z LTCG łączącego. |
|
Określa, czy macierzy głównych wiersza. |
|
Pobiera flagę wskazującą, czy jest zarządzany compiland.netmodule (zawierających tylko metadane). |
|
Określa, czy this wskaźnik wskazuje członka danych, wielokrotne dziedziczenie. |
|
Pobiera flagę wskazującą, czy funkcja ma naked (C++) atrybut. |
|
Określa, czy zmienna jest zoptymalizowany away. |
|
Określa, czy this wskaźnik jest oparty na wartości symboli. |
|
Określa, czy ten symbol jest wskaźnik do elementu danych. |
|
Określa, czy ten symbol jest wskaźnik do funkcji składowej. |
|
Określa, czy zmienna prowadzi wartości zwracanej. |
|
Określa, czy moduł jest skompilowany z opcją /SDL. |
|
Określa, czy this wskaźnik wskazuje członek danych z pojedynczej dziedziczenia. |
|
Pobiera flagę wskazującą, czy dane zostały podzielone agregatu oddzielnych symboli. |
|
Pobiera flagę wskazującą, czy funkcja lub thunk warstwy jest statyczny. |
|
Pobiera flagę wskazującą, czy usunięto symbole prywatnego z pliku symboli. |
|
Określa, czy this wskaźnik wskazuje członek danych z wirtualnego dziedziczenia. |
|
Pobiera języka źródłowego. |
|
Pobiera liczbę bajtów pamięci używanej przez obiekt reprezentowany przez ten symbol. |
|
Pobiera odwołanie do obiektu nadrzędnego leksykalne symbolu. |
|
Pobiera identyfikator nadrzędnego leksykalne symbolu. |
|
Pobiera nazwę pliku biblioteki lub obiektu pliku, z którego został załadowany obiekt. |
|
Zwraca długość zakresu adresów, w której symbol lokalnego jest prawidłowy. |
|
Zwraca część sekcji początkowy zakres adresów, w której symbol lokalnego jest prawidłowy. |
|
Zwraca część przesunięcia początkowy zakres adresów, w której symbol lokalnego jest prawidłowy. |
|
Zwraca początek zakresu adresów, w której symbol lokalnego jest prawidłowy. |
|
Pobiera typ lokalizacji symbolu danych. |
|
Pobiera dolną granicą FORTRAN wymiaru tablicy. |
|
Pobiera identyfikator symbol dolną granicą FORTRAN wymiaru tablicy. |
|
Pobiera typ docelowego Procesora. |
|
Pobiera flagi, że wskazująca, czy symbol odnosi się do kodu zarządzanego. |
|
Pobiera rodzaju miejsca w pamięci. |
|
Pobiera flagę wskazującą, czy symbol odnosi się do kodu Microsoft pośrednie języka MSIL (). |
|
Pobiera nazwę symbolu. |
|
Pobiera flagę wskazującą, czy jest zagnieżdżony typ danych zdefiniowany przez użytkownika. |
|
Pobiera flagę wskazującą, czy funkcja jest oznaczone noinline atrybut. |
|
Pobiera flagę wskazującą, czy funkcja została zadeklarowana z noreturn atrybut. |
|
Pobiera flagę wskazującą, czy kolejności stosu nie może być wykonana w ramach sprawdzania buforu stosu. |
|
Pobiera flagę wskazującą, czy funkcja lub etykiety nigdy nie zostanie osiągnięty. |
|
Zwraca liczbę tagów wskaźnik accelerator funkcji skrótowej C++ AMP. |
|
Pobiera numer modyfikatorów, które są stosowane do oryginalnego typu. |
|
Pobiera numer rejestru indeksów. |
|
Pobiera liczbę wierszy w macierzy. |
|
Pobiera numer kolumny w matrycy. |
|
Pobiera nazwę obiektu w pliku. |
|
Pobiera typ wskaźnika obiektu dla metody klasy. |
|
Pobiera symbol oemId wartości. |
|
Pobiera symbol oemSymbolId wartości. |
|
Pobiera przesunięcie położenie symbolu. |
|
Pobiera flagę wskazującą, czy funkcja lub etykieta zawiera zoptymalizowanego kodu również informacje jak debugowania. |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika ma przeciążone operatory. |
|
Pobiera flagę wskazującą, czy jest zapakowane typ danych zdefiniowany przez użytkownika. |
|
Pobiera typ platformy, dla którego został skompilowany program lub compiland. |
|
Pobiera flagi, że wskazująca, czy funkcja jest czysty wirtualnych. |
|
Pobiera rangi FORTRAN Tablica wielowymiarowa. |
|
Pobiera flagę wskazującą, czy typ wskaźnika jest odwołanie. |
|
Pobiera rejestru określenia lokalizacji. |
|
Pobiera typ rejestru. |
|
Pobiera względny adres wirtualny (RVA) lokalizacji. |
|
Określa, czy this wskaźnik jest oflagowana jako ograniczone. |
|
Pobiera gniazdo próbnika. |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika ma nieglobalnego zakres leksykalne. |
|
Pobiera wartość podpisu dla symbolu. |
|
Pobiera rozmiar członek typ zdefiniowany przez użytkownika. |
|
Pobiera numer gniazda lokalizacji. |
|
Pobiera nazwę pliku źródłowego pliku. |
|
Pobiera numer źródłowego pliku i linii, wskazujące, gdzie zdefiniowana jest określony typ zdefiniowany przez użytkownika. |
|
Pobiera stride macierzy lub tablicy strided. |
|
Pobiera typu sub. |
|
Pobiera identyfikator typu sub |
|
Pobiera nazwę pliku, z którego zostały załadowane symbole. |
|
Pobiera identyfikator unikatowy symbol. |
|
Pobiera klasyfikatora typ symbolu. |
|
Pobiera przesunięcia sekcji docelowej thunk. |
|
Pobiera względny adres wirtualny (RVA) docelowej thunk. |
|
Pobiera sekcji adresu docelowego thunk. |
|
Pobiera wirtualny adres docelowy thunk (VA). |
|
Pobiera gniazdo tekstury. |
|
Pobiera logicznej this rzeczoznawcami dla metody. |
|
Pobiera typ thunk funkcji. |
|
Pobiera sygnatury czasowej podstawowego pliku wykonywalnego. |
|
Pobiera token metadanych funkcji zarządzane lub zmiennej. |
|
Pobiera odwołanie do podpisu funkcji. |
|
Pobiera identyfikator typu symbolu. |
|
Pobiera tablicę wartości typu kompilator specyficzne dla tego symbolu. |
|
Pobiera tablicę wartości identyfikatora typu kompilator specyficzne dla tego symbolu. |
|
Pobiera gniazdo uav-em. |
|
Pobiera różnych typów zdefiniowanych przez użytkownika (UDT). |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika jest niewyrównane. |
|
Pobiera nazwę bez zdobione, C++ lub powiązania, nazwę. |
|
Rozszerzenie get_undecoratedName metody pobierającej bez nazwy na podstawie wartości pola rozszerzenia. |
|
Pobiera identyfikator oryginalnego typu (niezmieniona). |
|
Pobiera górne FORTRAN wymiaru tablicy. |
|
Pobiera identyfikator symbol górne FORTRAN wymiaru tablicy. |
|
Pobiera wartość stałą. |
|
Pobiera flagę wskazującą, czy funkcja jest wirtualna. |
|
Pobiera adres wirtualny (VA) lokalizacji. |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika jest wirtualny klasy podstawowej. |
|
Pobiera indeks tabeli wirtualnej przemieszczenie podstawowej. |
|
Pobiera przesunięcie w tabeli funkcję wirtualną funkcję wirtualną. |
|
Pobiera przesunięcie wirtualnego wskaźnik bazowy. |
|
Pobiera typ wskaźnika wirtualnej tabeli bazowej. |
|
Pobiera interfejsu symbol typu wirtualnej tabeli typ zdefiniowany przez użytkownika. |
|
Pobiera identyfikator kształtu tabeli wirtualny symbolu. |
|
Pobiera flagę wskazującą, czy typ danych zdefiniowany przez użytkownika jest nietrwała. |
Uwagi
Uwagi dla wywoływania
Ten interfejs uzyskać wywołując jedną z następujących metod:
Przykład
Ten przykład pokazuje sposób wyświetlania zmiennych lokalnych funkcji na danym względny adres wirtualny.Pokazuje również, jak symbole różnych typów są powiązane ze sobą.
[!UWAGA]
CDiaBSTRKlasa, która otacza jest BSTR i obsługuje automatyczne zwalnianie ciąg podczas wystąpienia wykracza poza zakres.
void DumpLocalVars( DWORD rva, IDiaSession *pSession )
{
CComPtr< IDiaSymbol > pBlock;
if ( FAILED( psession->findSymbolByRVA( rva, SymTagBlock, &pBlock ) ) )
{
Fatal( "Failed to find symbols by RVA" );
}
CComPtr< IDiaSymbol > pscope;
for ( ; pBlock != NULL; )
{
CComPtr< IDiaEnumSymbols > pEnum;
// local data search
if ( FAILED( pBlock->findChildren( SymTagNull, NULL, nsNone, &pEnum ) ) )
{
Fatal( "Local scope findChildren failed" );
}
CComPtr< IDiaSymbol > pSymbol;
DWORD tag;
DWORD celt;
while ( pEnum != NULL &&
SUCCEEDED( pEnum->Next( 1, &pSymbol, &celt ) ) &&
celt == 1)
{
pSymbol->get_symTag( &tag );
if ( tag == SymTagData )
{
CDiaBSTR name;
DWORD kind;
pSymbol->get_name( &name );
pSymbol->get_dataKind( &kind );
if ( name != NULL )
wprintf_s( L"\t%s (%s)\n", name, szDataKinds[ kind ] );
}
else if ( tag == SymTagAnnotation )
{
CComPtr< IDiaEnumSymbols > pValues;
// local data search
wprintf_s( L"\tAnnotation:\n" );
if ( FAILED( pSymbol->findChildren( SymTagNull, NULL, nsNone, &pValues ) ) )
Fatal( "Annotation findChildren failed" );
pSymbol = NULL;
while ( pValues != NULL &&
SUCCEEDED( pValues->Next( 1, &pSymbol, &celt ) ) &&
celt == 1 )
{
CComVariant value;
if ( pSymbol->get_value( &value ) != S_OK )
Fatal( "No value for annotation data." );
wprintf_s( L"\t\t%ws\n", value.bstrVal );
pSymbol = NULL;
}
}
pSymbol = NULL;
}
pBlock->get_symTag( &tag );
if ( tag == SymTagFunction ) // stop when at function scope
break;
// move to lexical parent
CComPtr< IDiaSymbol > pParent;
if ( SUCCEEDED( pBlock->get_lexicalParent( &pParent ) )
&& pParent != NULL ) {
pBlock = pParent;
}
else
{
Fatal( "Finding lexical parent failed." );
}
};
}
Wymagania
Header:Dia2.h
Biblioteki: diaguids.lib
Biblioteka DLL: msdia80.dll