COR_PRF_MONITOR-Enumeration

Enthält Werte, die zum Angeben von Verhalten, Funktionen oder Ereignissen verwendet werden, die der Profiler abonnieren muss.

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;  

Member

In den folgenden Abschnitten COR_PRF_MONITOR werden Enumerationsmember nach Kategorie aufgelistet. Die Kategorien lauten:

Keine Flags festgelegt.

Member BESCHREIBUNG
COR_PRF_MONITOR_NONE Es sind keine Flags festgelegt.

Rückruf-Flags

Member BESCHREIBUNG
COR_PRF_MONITOR_ALL Aktiviert alle Rückrufereignisse.
COR_PRF_MONITOR_APPDOMAIN_LOADS Steuert die AppDomainCreation* AppDomainShutdown* Rückrufe und in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_ASSEMBLY_LOADS Steuert die AssemblyLoad* AssemblyUnload* Rückrufe und in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_CACHE_SEARCHES Steuert die JITCachedFunctionSearch* Rückrufe in der ICorProfilerCallback -Schnittstelle.

Das Verhalten dieses Flags ändert sich in Version 2.0 von .NET Framework.
COR_PRF_MONITOR_CCW Steuert die COMClassicVTable* Rückrufe in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_CLASS_LOADS Steuert die ClassLoad* ClassUnload* Rückrufe und in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_CLR_EXCEPTIONS Steuert die ExceptionCLRCatcher* Rückrufe in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_CODE_TRANSITIONS Steuert die Rückrufe UnmanagedToManagedTransition und ManagedToUnmanagedTransition in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_ENTERLEAVE Steuert die FunctionEnter* FunctionLeave* FunctionTailCall* Profilerstellung für globale statische Funktionen, und.
COR_PRF_MONITOR_EXCEPTIONS Steuert den exceptiondent -Rückruf und ExceptionSearch* die ExceptionOSHandler* ExceptionUnwind* Rückrufe,, und ExceptionCatcher* in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_FUNCTION_UNLOADS Steuert den FunctionUnloadStarted -Rückruf in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_GC Steuert die Rückrufe GarbageCollectionStarted, GarbageCollectionStarted, muvedreferences, MovedReferences2, SurvivingReferences, SurvivingReferences2, ObjectReferences, objectsallogatedbyclass, RootReferences, RootReferences2, Lenker created, Lenkerund FinalizeableObjectQueued in den ICorProfilerCallback* Schnittstellen. Wenn COR_PRF_MONITOR_GC zugeordnet ist, wird das gleichzeitige Garbage Collection ausgeschaltet.
COR_PRF_MONITOR_JIT_COMPILATION Steuert die JITCompilation* Rückrufe, JITFunctionPitchedund JITInlining in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_MODULE_LOADS Steuert die Rückrufe ModuleLoad* , ModuleUnload* und moduleattachedonassembly in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_OBJECT_ALLOCATED Steuert den ObjectAllocated -Rückruf in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_REMOTING Steuert die Remoting* Rückrufe in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_REMOTING_ASYNC Steuert, ob die Remoting*-Rückrufe asynchrone Ereignisse überwachen.
COR_PRF_MONITOR_REMOTING_COOKIE Steuert, ob ein Cookie an Remoting*-Rückrufe übergeben wird.
COR_PRF_MONITOR_SUSPENDS Steuert die Rückrufe RuntimeSuspend* , RuntimeResume* , runtimethleseangehalten und runtimethrerunning in der ICorProfilerCallback -Schnittstelle.
COR_PRF_MONITOR_THREADS Steuert die Rückrufe ThreadCreated, threadzerstört, threadassigneddeosthreadund ThreadNameChanged in den ICorProfilerCallback -und ICorProfilerCallback2 -Schnittstellen.

Flags zur Aktivierung von Funktionen

Member BESCHREIBUNG
COR_PRF_ENABLE_FRAME_INFO Ermöglicht das Abrufen eines exakten ClassID für eine generische Funktion durch Aufrufen der GetFunctionInfo2 -Methode mit einem Wert, der COR_PRF_FRAME_INFO vom FunctionEnter2 -Rückruf zurückgegeben wird.
COR_PRF_ENABLE_FUNCTION_ARGS Aktiviert die Argument Ablauf Verfolgung mit dem FunctionEnter2 -Rückruf oder dem FunctionEnter3WithInfo -Rückruf und der GetFunctionEnter3Info -Methode.
COR_PRF_ENABLE_FUNCTION_RETVAL Ermöglicht die Ablauf Verfolgung von Rückgabe Werten mit dem FunctionLeave2 -Rückruf oder dem FunctionLeave3WithInfo -Rückruf und der GetFunctionLeave3Info -Methode.
COR_PRF_ENABLE_INPROC_DEBUGGING Veraltet.

Prozessinternes Debuggen wird nicht unterstützt. Dieses Flag hat keine Wirkung.
COR_PRF_ENABLE_JIT_MAPS Veraltet.

Ermöglicht dem Profiler das Abrufen von Il-to-Native-Zuordnungen mithilfe von GetILToNativeMapping. In .NET Framework, Version 2.0 werden Zuordnungen zwischen IL-Code und systemeigenem Code von der CLR immer nachverfolgt, daher gilt dieses Flag immer als gesetzt.
COR_PRF_ENABLE_OBJECT_ALLOCATED Teilt der CLR mit, dass der Profiler u. U. über Objektzuordnungen benachrichtigt werden soll. Dies muss während der Initialisierung festgelegt werden. Dies ermöglicht es dem Profiler, das- COR_PRF_MONITOR_OBJECT_ALLOCATED Flag zu verwenden, um objectallokalisierte Rückrufe zu empfangen.
COR_PRF_ENABLE_REJIT Aktiviert Aufrufe der Methoden requestrejit und requestrevert . Der Profiler muss dieses Flag beim Start festlegen. Wenn der Profiler dieses Flag angibt, muss er auch COR_PRF_DISABLE_ALL_NGEN_IMAGES angeben.
COR_PRF_ENABLE_STACK_SNAPSHOT Aktiviert Aufrufe der DoStackSnapshot -Methode.

Konfigurationsflags

Member BESCHREIBUNG
COR_PRF_DISABLE_ALL_NGEN_IMAGES Bewirkt, dass die systemeigene Abbildsuche nach Abbildern (einschließlich durch Profiler verbesserte) sucht. Wenn dieses Flag und das COR_PRF_USE_PROFILE_IMAGES-Flag beide angegeben sind, wird COR_PRF_DISABLE_ALL_NGEN_IMAGES verwendet.
COR_PRF_DISABLE_INLINING Deaktiviert das gesamte Inlining.
COR_PRF_DISABLE_OPTIMIZATIONS Deaktiviert alle Codeoptimierungen.
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST Deaktiviert Sicherheitstransparenzprüfungen, die normalerweise während Just-In-Time (JIT)-Kompilierungen und dem Laden von Klassen für vollständig vertrauenswürdige Assemblys durchgeführt werden. Dies kann die Ausführung einiger Instrumentierungsvorgänge erleichtern.
COR_PRF_USE_PROFILE_IMAGES Bewirkt, dass die systemeigene Abbildsuche nach durch Profiler verbesserten Abbildern sucht. Wenn für eine Assembly kein durch Profiler verbessertes Bild gefunden wird, greift die Common Language Runtime für die betreffende Assembly wieder auf JIT zurück. Wenn dieses Flag und das COR_PRF_DISABLE_ALL_NGEN_IMAGES-Flag beide angegeben sind, wird COR_PRF_DISABLE_ALL_NGEN_IMAGES verwendet.

Kombinierte Flags

Member BESCHREIBUNG
COR_PRF_ALL Stellt alle COR_PRF_MONITOR-Flagwerte dar.
COR_PRF_ALLOWABLE_AFTER_ATTACH Stellt alle COR_PRF_MONITOR-Flags dar, die festgelegt werden können, wenn der Profiler mit einer ausgeführten App verknüpft wurde. Der Syntaxabschnitt gibt die einzelnen Flags an, die in dieser Bitmask vorhanden sind.
COR_PRF_MONITOR_ALL Aktiviert alle Rückrufereignisse.
COR_PRF_MONITOR_IMMUTABLE Stellt alle COR_PRF_MONITOR-Flags dar, die nur während der Initialisierung festgelegt werden können. Wenn Sie versuchen, eines dieser Flags nach der Initialisierung zu ändern, führt dies zu einem HRESULT-Wert, der auf einen Fehler hinweist.
COR_PRF_REQUIRE_PROFILE_IMAGE Stellt alle COR_PRF_MONITOR-Flags dar, die durch Profiler verbesserte Bilder erfordern.

Bemerkungen

Ein COR_PRF_MONITOR -Wert wird mit den Methoden ICorProfilerInfo:: GetEventMask und ICorProfilerInfo:: lteventmask verwendet, um die Ereignis Benachrichtigungen zu definieren, die die Common Language Runtime an den Profiler sendet.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: CorProf.idl, CorProf.h

Bibliothek: CorGuids.lib

.NET Framework Versionen:Verfügbar seit 1.0

Weitere Informationen