Funkcja (Zestaw SDK dostępu do interfejsu debugowania)
Każda funkcja jest identyfikowana za pomocą symbolu SymTagFunction
.
Właściwości
W poniższej tabeli przedstawiono właściwości, które są prawidłowe dla tego typu symbolu.
Właściwości | Typ danych | opis |
---|---|---|
IDiaSymbol::get_access | DWORD |
Jedną z wartości wyliczenia CV_access_e, jeśli funkcja jest funkcją składową. |
IDiaSymbol::get_addressOffset | DWORD |
Przesunięcie części lokalizacji; aby uzyskać szczegółowe informacje, zobacz LocationType, wyliczenie. |
IDiaSymbol::get_addressSection | DWORD |
Część sekcji lokalizacji; aby uzyskać szczegółowe informacje, zobacz LocationType, wyliczenie. |
IDiaSymbol::get_classParent | IDiaSymbol* |
Symbol klasy, jeśli funkcja jest funkcją składową. |
IDiaSymbol::get_classParentId | DWORD |
Identyfikator symbolu nadrzędnego klasy. |
IDiaSymbol::get_constType | BOOL |
TRUE jeśli funkcja jest oznaczona jako stała. |
IDiaSymbol::get_customCallingConvention | BOOL |
TRUE jeśli funkcja używa niestandardowej konwencji wywoływania (tylko w zestawie SDK dostępu do interfejsu debugowania (DIA) w wersji 8.0 lub nowszej. |
IDiaSymbol::get_farReturn | BOOL |
TRUE jeśli funkcja wykonuje daleki zwrot (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_hasAlloca | BOOL |
TRUE jeśli funkcja używa przydzielonej funkcji pamięci (tylko uinnder DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_hasEH | BOOL |
TRUE jeśli funkcja zawiera obsługę wyjątków w stylu C++(tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_hasEHa | BOOL |
TRUE jeśli funkcja zawiera asynchroniczną obsługę wyjątków (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_hasInlAsm | BOOL |
TRUE jeśli funkcja zawiera wbudowany zestaw (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_hasLongJump | BOOL |
TRUE jeśli funkcja zawiera wywołanie longjmp (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_hasSecurityChecks | BOOL |
TRUE jeśli funkcja zawiera kontrole zabezpieczeń (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_hasSEH | BOOL |
TRUE jeśli funkcja zawiera obsługę wyjątków strukturalnych w stylu Win32 (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_hasSetJump | BOOL |
TRUE jeśli funkcja zawiera wywołanie setjmp (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_interruptReturn | BOOL |
TRUE jeśli funkcja ma powrót z przerwania (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_intro | BOOL |
TRUE jeśli funkcja jest intro virtual. |
IDiaSymbol::get_InlSpec | BOOL |
TRUE jeśli funkcja została oznaczona jednym inline, __inline, __forceinline z atrybutów. |
IDiaSymbol::get_isNaked | BOOL |
TRUE jeśli funkcja jest oznaczona atrybutem naked (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_isStatic | BOOL |
TRUE jeśli funkcja jest statyczna (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_length | ULONGLONG |
Liczba bajtów kodu funkcji, zaczynając od lokalizacji. |
IDiaSymbol::get_lexicalParent | IDiaSymbol* |
Symbol otaczającego współzadania. |
IDiaSymbol::get_lexicalParentId | DWORD |
Identyfikator symbolu nadrzędnego leksykalnego. |
IDiaSymbol::get_locationType | DWORD |
Funkcje mogą mieć lokalizacje statyczne lub metadane; aby uzyskać szczegółowe informacje, zobacz Lokalizacje symboli. |
IDiaSymbol::get_name | BSTR |
Nazwa funkcji. |
IDiaSymbol::get_noInline | BOOL |
TRUE jeśli funkcja nie jest funkcją śródliniową (tylko n DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_notReached | BOOL |
TRUE jeśli funkcja jest niedostępna (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_noReturn | BOOL |
TRUE jeśli funkcja nie zwraca wartości (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_noStackOrdering | BOOL |
TRUE jeśli funkcja została skompilowana za pomocą kontroli zabezpieczeń buforu, ale nie można wykonać porządkowania stosu. |
IDiaSymbol::get_optimizedCodeDebugInfo | BOOL |
TRUE jeśli kod zawiera informacje o debugowaniu zoptymalizowanego kodu (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_pure | BOOL |
TRUE jeśli funkcja jest czysta wirtualna. |
IDiaSymbol::get_relativeVirtualAddress | DWORD |
Względne położenie tej funkcji w ramach modułu. |
IDiaSymbol::get_symIndexId | DWORD |
Identyfikator indeksu symbolu. |
IDiaSymbol::get_symTag | DWORD |
Zwraca SymTagFunction (jedna z wartości wyliczenia SymTagEnum). |
IDiaSymbol::get_token | DWORD |
Token metadanych dla funkcji. |
IDiaSymbol::get_type | IDiaSymbol* |
Symbol podpisu funkcji. |
IDiaSymbol::get_typeId | DWORD |
Identyfikator symbolu typu. |
IDiaSymbol::get_unalignedType | BOOL |
TRUE jeśli funkcja jest nieprzygotowana. |
IDiaSymbol::get_undecoratedName | BSTR |
Nieukodowana forma nazwy funkcji (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej) |
IDiaSymbol::get_undecoratedNameEx | BSTR |
Część lub cała nieukodowana forma nazwy funkcji (tylko w zestawie DIA SDK w wersji 8.0 lub nowszej). |
IDiaSymbol::get_virtual | BOOL |
TRUE jeśli funkcja wirtualna. |
IDiaSymbol::get_virtualAddress | ULONGLONG |
Pozycja tej funkcji w obrazie wykonywalnego. |
IDiaSymbol::get_virtualBaseOffset | DWORD |
Jeśli funkcja wirtualna, przesunięcie w tabeli funkcji wirtualnej. |
IDiaSymbol::get_volatileType | BOOL |
TRUE jeśli funkcja jest oznaczona jako nietrwała. |