COR_PRF_MONITOR – výčet

Obsahuje hodnoty, které se používají k určení chování, schopností nebo událostí, ke kterým se profiler chce přihlásit.

Syntax

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;  

Členové

Následující části obsahují seznam COR_PRF_MONITOR členů výčtu podle kategorie. Jedná se o následující kategorie:

Nejsou nastavené žádné příznaky.

Člen Description
COR_PRF_MONITOR_NONE Nejsou nastaveny žádné příznaky.

Příznaky zpětného volání

Člen Description
COR_PRF_MONITOR_ALL Povolí všechny události zpětného volání.
COR_PRF_MONITOR_APPDOMAIN_LOADS Řídí zpětná AppDomainCreation* volání a AppDomainShutdown* v rozhraní ICorProfilerCallback .
COR_PRF_MONITOR_ASSEMBLY_LOADS Řídí zpětná AssemblyLoad* volání a AssemblyUnload* v rozhraní ICorProfilerCallback .
COR_PRF_MONITOR_CACHE_SEARCHES Řídí zpětná JITCachedFunctionSearch* volání v ICorProfilerCallback rozhraní.

Chování tohoto příznaku je změněno v rozhraní .NET Framework verze 2.0.
COR_PRF_MONITOR_CCW Řídí zpětná COMClassicVTable* volání v ICorProfilerCallback rozhraní.
COR_PRF_MONITOR_CLASS_LOADS Řídí zpětná ClassLoad* volání a ClassUnload* v rozhraní ICorProfilerCallback .
COR_PRF_MONITOR_CLR_EXCEPTIONS Řídí zpětná ExceptionCLRCatcher* volání v ICorProfilerCallback rozhraní.
COR_PRF_MONITOR_CODE_TRANSITIONS Řídí zpětná volání UnmanagedToManagedTransition a ManagedToUnmanagedTransition v rozhraní ICorProfilerCallback .
COR_PRF_MONITOR_ENTERLEAVE FunctionEnter*FunctionLeave*Řídí , a FunctionTailCall*profilaci globálních statických funkcí.
COR_PRF_MONITOR_EXCEPTIONS Řídí zpětné volání ExceptionThrown a ExceptionSearch*zpětné volání , ExceptionOSHandler*, ExceptionUnwind*a ExceptionCatcher* zpětné volání v rozhraní ICorProfilerCallback .
COR_PRF_MONITOR_FUNCTION_UNLOADS Řídí functionUnloadStarted zpětné volání v ICorProfilerCallback rozhraní.
COR_PRF_MONITOR_GC Řídí volání GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, MovedReferences2, SurvivingReferences, SurvivingReferences2, ObjectReferences, ObjectsAllocatedByClass, RootReferences, RootReferences2, HandleCreated, HandleDestroyed a FinalizeableObjectQueued zpětná volání v ICorProfilerCallback* rozhraních. Při COR_PRF_MONITOR_GC přidělení je souběžné uvolňování paměti vypnuto.
COR_PRF_MONITOR_JIT_COMPILATION JITCompilation*Řídí zpětné volání , JITFunctionPitched a JITInlining v rozhraní ICorProfilerCallback.
COR_PRF_MONITOR_MODULE_LOADS ModuleLoad*Řídí zpětné volání , ModuleUnload*a ModuleAttachedToAssembly v rozhraní ICorProfilerCallback.
COR_PRF_MONITOR_OBJECT_ALLOCATED Řídí ObjectAllocated zpětné volání v ICorProfilerCallback rozhraní.
COR_PRF_MONITOR_REMOTING Řídí zpětná Remoting* volání v ICorProfilerCallback rozhraní.
COR_PRF_MONITOR_REMOTING_ASYNC Určuje, jestli budou zpětná Remoting* volání monitorovat asynchronní události.
COR_PRF_MONITOR_REMOTING_COOKIE Určuje, jestli se soubor cookie předá zpětná Remoting* volání.
COR_PRF_MONITOR_SUSPENDS RuntimeSuspend*Řídí zpětné volání , RuntimeResume*, RuntimeThreadSuspended a RuntimeThreadResumed v rozhraní ICorProfilerCallback.
COR_PRF_MONITOR_THREADS Řídí Zpětné volání ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThread a ThreadNameChanged v rozhraních ICorProfilerCallback a ICorProfilerCallback2 .

Příznaky povolení funkcí

Člen Description
COR_PRF_ENABLE_FRAME_INFO Umožňuje načtení přesné ClassID pro obecnou funkci voláním GetFunctionInfo2 metoda s COR_PRF_FRAME_INFO hodnotou vrácenou zpětné volání FunctionEnter2 .
COR_PRF_ENABLE_FUNCTION_ARGS Povolí trasování argumentů pomocí zpětné volání FunctionEnter2 nebo Zpětné volání FunctionEnter3WithInfo a GetFunctionEnter3Info metoda.
COR_PRF_ENABLE_FUNCTION_RETVAL Umožňuje trasování návratových hodnot pomocí zpětného volání FunctionLeave2 nebo Zpětné volání FunctionLeave3WithInfo a GetFunctionLeave3Info metoda.
COR_PRF_ENABLE_INPROC_DEBUGGING Zastaralé

V procesu není podporováno ladění. Tento příznak nemá žádný vliv.
COR_PRF_ENABLE_JIT_MAPS Zastaralé

Umožňuje profileru získat il-to-nativní mapy pomocí GetILToNativeMapping. Počínaje rozhraním .NET Framework 2.0 modul runtime vždy sleduje il nativní mapy; proto se tento příznak vždy považuje za nastavený.
COR_PRF_ENABLE_OBJECT_ALLOCATED Informuje modul runtime, že profiler může chtít oznámení o přidělení objektů. Tento příznak musí být nastaven během inicializace. Umožňuje profileru následně použít příznak k příjmu COR_PRF_MONITOR_OBJECT_ALLOCATED zpětných volání ObjectAllocated .
COR_PRF_ENABLE_REJIT Umožňuje volání Metod RequestReJIT a RequestRevert . Profiler musí nastavit tento příznak při spuštění. Pokud profiler určuje tento příznak, musí také zadat COR_PRF_DISABLE_ALL_NGEN_IMAGES.
COR_PRF_ENABLE_STACK_SNAPSHOT Umožňuje volání do DoStackSnapshot metoda.

Příznaky konfigurace

Člen Description
COR_PRF_DISABLE_ALL_NGEN_IMAGES Zabrání načtení všech nativních bitových kopií (včetně imagí s rozšířenými profilerem). Pokud je zadaný příznak i COR_PRF_USE_PROFILE_IMAGES příznak, COR_PRF_DISABLE_ALL_NGEN_IMAGES použije se.
COR_PRF_DISABLE_INLINING Zakáže veškeré vkládání.
COR_PRF_DISABLE_OPTIMIZATIONS Zakáže všechny optimalizace kódu.
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST Zakáže kontroly transparentnosti zabezpečení, které se obvykle provádějí během kompilace za běhu (JIT) a načítání tříd pro sestavení s úplným vztahem důvěryhodnosti. To může usnadnit provádění některých instrumentací.
COR_PRF_USE_PROFILE_IMAGES Způsobí, že vyhledávání nativních bitových kopií vyhledá image s rozšířenými profilerem. Pokud pro dané sestavení není nalezena žádná image s rozšířeným profilerem, modul CLR (Common Language Runtime) se vrátí k JIT pro dané sestavení. Pokud je zadaný příznak i COR_PRF_DISABLE_ALL_NGEN_IMAGES příznak, COR_PRF_DISABLE_ALL_NGEN_IMAGES použije se.

Složené příznaky

Člen Description
COR_PRF_ALL Představuje všechny COR_PRF_MONITOR hodnoty příznaku.
COR_PRF_ALLOWABLE_AFTER_ATTACH Představuje všechny COR_PRF_MONITOR příznaky, které lze nastavit po připojení profileru ke spuštěné aplikaci. Oddíl syntaxe označuje jednotlivé příznaky, které se v této bitové masce nacházejí.
COR_PRF_MONITOR_ALL Povolí všechny události zpětného volání.
COR_PRF_MONITOR_IMMUTABLE Představuje všechny COR_PRF_MONITOR příznaky, které lze nastavit pouze během inicializace. Pokus o změnu některého z těchto příznaků po inicializaci vrátí HRESULT hodnotu, která značí selhání.
COR_PRF_REQUIRE_PROFILE_IMAGE Představuje všechny COR_PRF_MONITOR příznaky, které vyžadují image s rozšířeným profilem.

Poznámky

Hodnota COR_PRF_MONITOR se používá s metodami ICorProfilerInfo::GetEventMask a ICorProfilerInfo::SetEventMask k definování oznámení událostí, které common language runtime provede profileru.

Požadavky

Platformy: Viz Požadavky na systém.

Záhlaví: CorProf.idl, CorProf.h

Knihovny: CorGuids.lib

Verze rozhraní .NET Framework: K dispozici od verze 1.0

Viz také