Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zawiera wartości używane do określania zachowania, możliwości lub zdarzeń, do których profiler chce subskrybować.
Składnia
typedef enum {
COR_PRF_MONITOR_NONE = 0x00000000,
COR_PRF_MONITOR_FUNCTION_UNLOADS = 0x00000001,
COR_PRF_MONITOR_CLASS_LOADS = 0x00000002,
COR_PRF_MONITOR_MODULE_LOADS = 0x00000004,
COR_PRF_MONITOR_ASSEMBLY_LOADS = 0x00000008,
COR_PRF_MONITOR_APPDOMAIN_LOADS = 0x00000010,
COR_PRF_MONITOR_JIT_COMPILATION = 0x00000020,
COR_PRF_MONITOR_EXCEPTIONS = 0x00000040,
COR_PRF_MONITOR_GC = 0x00000080,
COR_PRF_MONITOR_OBJECT_ALLOCATED = 0x00000100,
COR_PRF_MONITOR_THREADS = 0x00000200,
COR_PRF_MONITOR_REMOTING = 0x00000400,
COR_PRF_MONITOR_CODE_TRANSITIONS = 0x00000800,
COR_PRF_MONITOR_ENTERLEAVE = 0x00001000,
COR_PRF_MONITOR_CCW = 0x00002000,
COR_PRF_MONITOR_REMOTING_COOKIE = 0x00004000 |
COR_PRF_MONITOR_REMOTING,
COR_PRF_MONITOR_REMOTING_ASYNC = 0x00008000 |
COR_PRF_MONITOR_REMOTING,
COR_PRF_MONITOR_SUSPENDS = 0x00010000,
COR_PRF_MONITOR_CACHE_SEARCHES = 0x00020000,
COR_PRF_ENABLE_REJIT = 0x00040000,
COR_PRF_ENABLE_INPROC_DEBUGGING = 0x00080000,
COR_PRF_ENABLE_JIT_MAPS = 0x00100000,
COR_PRF_DISABLE_INLINING = 0x00200000,
COR_PRF_DISABLE_OPTIMIZATIONS = 0x00400000,
COR_PRF_ENABLE_OBJECT_ALLOCATED = 0x00800000,
COR_PRF_MONITOR_CLR_EXCEPTIONS = 0x01000000,
COR_PRF_MONITOR_ALL = 0x0107FFFF,
COR_PRF_ENABLE_FUNCTION_ARGS = 0X02000000,
COR_PRF_ENABLE_FUNCTION_RETVAL = 0X04000000,
COR_PRF_ENABLE_FRAME_INFO = 0X08000000,
COR_PRF_ENABLE_STACK_SNAPSHOT = 0X10000000,
COR_PRF_USE_PROFILE_IMAGES = 0x20000000,
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST
= 0x40000000,
COR_PRF_DISABLE_ALL_NGEN_IMAGES = 0x80000000,
COR_PRF_ALL = 0x8FFFFFFF,
COR_PRF_REQUIRE_PROFILE_IMAGE = COR_PRF_USE_PROFILE_IMAGES |
COR_PRF_MONITOR_CODE_TRANSITIONS |
COR_PRF_MONITOR_ENTERLEAVE,
COR_PRF_ALLOWABLE_AFTER_ATTACH = COR_PRF_MONITOR_THREADS |
COR_PRF_MONITOR_MODULE_LOADS |
COR_PRF_MONITOR_ASSEMBLY_LOADS |
COR_PRF_MONITOR_APPDOMAIN_LOADS |
COR_PRF_ENABLE_STACK_SNAPSHOT |
COR_PRF_MONITOR_GC |
COR_PRF_MONITOR_SUSPENDS |
COR_PRF_MONITOR_CLASS_LOADS |
COR_PRF_MONITOR_JIT_COMPILATION,
COR_PRF_MONITOR_IMMUTABLE = COR_PRF_MONITOR_CODE_TRANSITIONS |
COR_PRF_MONITOR_REMOTING |
COR_PRF_MONITOR_REMOTING_COOKIE |
COR_PRF_MONITOR_REMOTING_ASYNC |
COR_PRF_ENABLE_REJIT |
COR_PRF_ENABLE_INPROC_DEBUGGING |
COR_PRF_ENABLE_JIT_MAPS |
COR_PRF_DISABLE_OPTIMIZATIONS |
COR_PRF_DISABLE_INLINING |
COR_PRF_ENABLE_OBJECT_ALLOCATED |
COR_PRF_ENABLE_FUNCTION_ARGS |
COR_PRF_ENABLE_FUNCTION_RETVAL |
COR_PRF_ENABLE_FRAME_INFO |
COR_PRF_USE_PROFILE_IMAGES |
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST |
COR_PRF_DISABLE_ALL_NGEN_IMAGES
} COR_PRF_MONITOR;
Elementy członkowskie
W poniższych sekcjach wymieniono COR_PRF_MONITOR
elementy członkowskie wyliczenia według kategorii. Kategorie to:
Brak ustawionych flag
Członek | Opis |
---|---|
COR_PRF_MONITOR_NONE |
Nie ustawiono żadnych flag. |
Flagi wywołania zwrotnego
Członek | Opis |
---|---|
COR_PRF_MONITOR_ALL |
Włącza wszystkie zdarzenia wywołania zwrotnego. |
COR_PRF_MONITOR_APPDOMAIN_LOADS |
AppDomainCreation* Steruje wywołaniami zwrotnymi i AppDomainShutdown* w interfejsie ICorProfilerCallback. |
COR_PRF_MONITOR_ASSEMBLY_LOADS |
AssemblyLoad* Steruje wywołaniami zwrotnymi i AssemblyUnload* w interfejsie ICorProfilerCallback. |
COR_PRF_MONITOR_CACHE_SEARCHES |
JITCachedFunctionSearch* Steruje wywołaniami zwrotnymi w interfejsie ICorProfilerCallback.Zachowanie tej flagi zostało zmienione w .NET Framework wersji 2.0. |
COR_PRF_MONITOR_CCW |
COMClassicVTable* Steruje wywołaniami zwrotnymi w interfejsie ICorProfilerCallback. |
COR_PRF_MONITOR_CLASS_LOADS |
ClassLoad* Steruje wywołaniami zwrotnymi i ClassUnload* w interfejsie ICorProfilerCallback. |
COR_PRF_MONITOR_CLR_EXCEPTIONS |
ExceptionCLRCatcher* Steruje wywołaniami zwrotnymi w interfejsie ICorProfilerCallback. |
COR_PRF_MONITOR_CODE_TRANSITIONS |
Steruje wywołaniami zwrotnymi UnmanagedToManagedTransition i ManagedToUnmanagedTransition w interfejsie ICorProfilerCallback |
COR_PRF_MONITOR_ENTERLEAVE |
FunctionEnter* Steruje funkcjami , FunctionLeave* i FunctionTailCall* profilowaniem globalnych funkcji statycznych. |
COR_PRF_MONITOR_EXCEPTIONS |
Steruje wywołaniem zwrotnym ExceptionThrown i ExceptionSearch* wywołaniami zwrotnymi , ExceptionOSHandler* ExceptionUnwind* , i ExceptionCatcher* w interfejsie ICorProfilerCallback. |
COR_PRF_MONITOR_FUNCTION_UNLOADS |
Steruje wywołaniem zwrotnym FunctionUnloadStarted w interfejsie ICorProfilerCallback . |
COR_PRF_MONITOR_GC |
Kontroluje element GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, MovedReferences2, SurvivingReferences, SurvivingReferences2, ObjectReferences, ObjectsAllocatedByClass, RootReferences, RootReferences2, HandleCreated, HandleDestroyed i FinalizeableObjectQueued wywołań zwrotnych w ICorProfilerCallback* interfejsach. Po COR_PRF_MONITOR_GC przydzieleniu współbieżne odzyskiwanie pamięci jest wyłączone. |
COR_PRF_MONITOR_JIT_COMPILATION |
JITCompilation* Steruje wywołaniami zwrotnymi , JITFunctionPitched i JITInlining w interfejsie ICorProfilerCallback. |
COR_PRF_MONITOR_MODULE_LOADS |
ModuleLoad* Steruje wywołaniami zwrotnymi , ModuleUnload* i ModuleAttachedToAssembly w interfejsie ICorProfilerCallback. |
COR_PRF_MONITOR_OBJECT_ALLOCATED |
Steruje wywołaniem zwrotnym ObjectAllocated w interfejsie ICorProfilerCallback . |
COR_PRF_MONITOR_REMOTING |
Remoting* Steruje wywołaniami zwrotnymi w interfejsie ICorProfilerCallback. |
COR_PRF_MONITOR_REMOTING_ASYNC |
Określa, Remoting* czy wywołania zwrotne będą monitorować zdarzenia asynchroniczne. |
COR_PRF_MONITOR_REMOTING_COOKIE |
Określa, czy plik cookie jest przekazywany do Remoting* wywołań zwrotnych. |
COR_PRF_MONITOR_SUSPENDS |
Steruje wywołaniami RuntimeSuspend* zwrotnymi , RuntimeResume* RuntimeThreadSuspended i RuntimeThreadResumed w interfejsie ICorProfilerCallback. |
COR_PRF_MONITOR_THREADS |
Kontroluje wywołania zwrotne ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThread i ThreadNameChanged w interfejsach ICorProfilerCallback i ICorProfilerCallback2. |
Flagi włączania funkcji
Członek | Opis |
---|---|
COR_PRF_ENABLE_FRAME_INFO |
Włącza pobieranie dokładnej ClassID funkcji ogólnej przez wywołanie metody GetFunctionInfo2 z wartością zwróconą COR_PRF_FRAME_INFO przez wywołanie zwrotne FunkcjiEnter2 . |
COR_PRF_ENABLE_FUNCTION_ARGS |
Włącza śledzenie argumentów przy użyciu wywołania zwrotnego FunctionEnter2 lub funkcjiEnter3WithInfo wywołania zwrotnego i metody GetFunctionEnter3Info . |
COR_PRF_ENABLE_FUNCTION_RETVAL |
Umożliwia śledzenie wartości zwracanych przy użyciu wywołania zwrotnego FunctionLeave2 lub wywołania zwrotnego FunctionLeave3WithInfo i metody GetFunctionLeave3Info . |
COR_PRF_ENABLE_INPROC_DEBUGGING |
Przestarzałe. Debugowanie procesów nie jest obsługiwane. Ta flaga nie ma wpływu. |
COR_PRF_ENABLE_JIT_MAPS |
Przestarzałe. Umożliwia profilerowi uzyskiwanie map natywnych IL za pomocą polecenia GetILToNativeMapping. Począwszy od .NET Framework 2.0, środowisko uruchomieniowe zawsze śledzi mapy natywne IL, dlatego ta flaga jest zawsze uważana za ustawioną. |
COR_PRF_ENABLE_OBJECT_ALLOCATED |
Informuje środowisko uruchomieniowe, że profiler może potrzebować powiadomień o alokacji obiektów. Tę flagę należy ustawić podczas inicjowania. Umożliwia profilerowi późniejsze użycie flagi COR_PRF_MONITOR_OBJECT_ALLOCATED do odbierania wywołań zwrotnych ObjectAllocated . |
COR_PRF_ENABLE_REJIT |
Włącza wywołania metod RequestReJIT i RequestRevert . Profiler musi ustawić tę flagę podczas uruchamiania. Jeśli profiler określa tę flagę, musi również określić COR_PRF_DISABLE_ALL_NGEN_IMAGES wartość . |
COR_PRF_ENABLE_STACK_SNAPSHOT |
Włącza wywołania metody DoStackSnapshot . |
Flagi konfiguracji
Członek | Opis |
---|---|
COR_PRF_DISABLE_ALL_NGEN_IMAGES |
Uniemożliwia ładowanie wszystkich obrazów natywnych (w tym obrazów rozszerzonych przez profilera). Jeśli ta flaga i flaga COR_PRF_USE_PROFILE_IMAGES zostaną określone, COR_PRF_DISABLE_ALL_NGEN_IMAGES zostanie użyta. |
COR_PRF_DISABLE_INLINING |
Wyłącza wszystkie podkreślenia. |
COR_PRF_DISABLE_OPTIMIZATIONS |
Wyłącza wszystkie optymalizacje kodu. |
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST |
Wyłącza kontrole przezroczystości zabezpieczeń, które są zwykle wykonywane podczas kompilacji just in time (JIT) i ładowania klas dla zestawów pełnego zaufania. Może to ułatwić instrumentację. |
COR_PRF_USE_PROFILE_IMAGES |
Powoduje wyszukiwanie obrazów natywnych w poszukiwaniu obrazów rozszerzonych przez profilera. Jeśli nie znaleziono obrazu rozszerzonego profilera dla danego zestawu, środowisko uruchomieniowe języka wspólnego wraca do trybu JIT dla tego zestawu. Jeśli ta flaga i flaga COR_PRF_DISABLE_ALL_NGEN_IMAGES zostaną określone, COR_PRF_DISABLE_ALL_NGEN_IMAGES zostanie użyta. |
Flagi złożone
Członek | Opis |
---|---|
COR_PRF_ALL |
Reprezentuje wszystkie COR_PRF_MONITOR wartości flagi. |
COR_PRF_ALLOWABLE_AFTER_ATTACH |
Reprezentuje wszystkie COR_PRF_MONITOR flagi, które można ustawić po dołączeniu profilera do uruchomionej aplikacji. Sekcja składni wskazuje poszczególne flagi, które znajdują się w tej maski bitów. |
COR_PRF_MONITOR_ALL |
Włącza wszystkie zdarzenia wywołania zwrotnego. |
COR_PRF_MONITOR_IMMUTABLE |
Reprezentuje wszystkie COR_PRF_MONITOR flagi, które można ustawić tylko podczas inicjowania. Próba zmiany dowolnej z tych flag po zainicjowaniu zwraca wartość wskazującą HRESULT niepowodzenie. |
COR_PRF_REQUIRE_PROFILE_IMAGE |
Reprezentuje wszystkie COR_PRF_MONITOR flagi, które wymagają obrazów rozszerzonych profilami. |
Uwagi
Wartość COR_PRF_MONITOR
jest używana z metodami ICorProfilerInfo::GetEventMask i ICorProfilerInfo::SetEventMask w celu zdefiniowania powiadomień o zdarzeniach, które środowisko uruchomieniowe języka wspólnego wysyła do profilera.
Wymagania
Platformy: Zobacz Wymagania systemowe.
Nagłówka: CorProf.idl, CorProf.h
Biblioteki: CorGuids.lib
wersje .NET Framework: dostępne od wersji 1.0