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 werden die Member der COR_PRF_MONITOR
-Enumeration nach Kategorie aufgelistet. Die Kategorien lauten wie folgt:
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 den AppDomainCreation* -Rückruf und den AppDomainShutdown* -Rückruf in der ICorProfilerCallback-Schnittstelle. |
COR_PRF_MONITOR_ASSEMBLY_LOADS |
Steuert den AssemblyLoad* -Rückruf und den AssemblyUnload* -Rückruf 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 den ClassLoad* -Rückruf und den ClassUnload* -Rückruf in der ICorProfilerCallback-Schnittstelle. |
COR_PRF_MONITOR_CLR_EXCEPTIONS |
Steuert die ExceptionCLRCatcher* -Rückrufe in der ICorProfilerCallback-Schnittstelle. |
COR_PRF_MONITOR_CODE_TRANSITIONS |
Steuert den UnmanagedToManagedTransition-Rückruf und den ManagedToUnmanagedTransition-Rückruf in der ICorProfilerCallback-Schnittstelle. |
COR_PRF_MONITOR_ENTERLEAVE |
Steuert die globalen statischen Funktionen für die ProfilerstellungFunctionEnter* , FunctionLeave* und FunctionTailCall* . |
COR_PRF_MONITOR_EXCEPTIONS |
Steuert den ExceptionThrown-Rückruf und die Rückrufe ExceptionSearch* , ExceptionOSHandler* , ExceptionUnwind* 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, GarbageCollectionFinished, MovedReferences, MovedReferences2, SurvivingReferences, SurvivingReferences2, ObjectReferences, ObjectsAllocatedByClass, RootReferences, RootReferences2, HandleCreated, HandleDestroyed und FinalizeableObjectQueued in den ICorProfilerCallback* -Schnittstellen. Wenn COR_PRF_MONITOR_GC zugeordnet ist, ist die gleichzeitige Garbage Collection deaktiviert. |
COR_PRF_MONITOR_JIT_COMPILATION |
Steuert die Rückrufe JITCompilation* , JITFunctionPitched und JITInlining in der ICorProfilerCallback-Schnittstelle. |
COR_PRF_MONITOR_MODULE_LOADS |
Steuert die Rückrufe ModuleLoad* , ModuleUnload* und ModuleAttachedToAssembly 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* , RuntimeThreadSuspended und RuntimeThreadResumed in der ICorProfilerCallback-Schnittstelle. |
COR_PRF_MONITOR_THREADS |
Steuert die Rückrufe ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThread und ThreadNameChanged in den Schnittstellen ICorProfilerCallback und ICorProfilerCallback2. |
Flags zur Aktivierung von Funktionen
Member | Beschreibung |
---|---|
COR_PRF_ENABLE_FRAME_INFO |
Aktiviert das Abrufen einer genauen ClassID für eine generische Funktion über einen Aufruf der GetFunctionInfo2-Methode mit einem COR_PRF_FRAME_INFO -Wert, der vom FunctionEnter2-Rückruf zurückgegeben wurde. |
COR_PRF_ENABLE_FUNCTION_ARGS |
Aktiviert Nachverfolgung von Argumenten mit dem FunctionEnter2-Rückruf oder dem FunctionEnter3WithInfo-Rückruf und der GetFunctionEnter3Info-Methode. |
COR_PRF_ENABLE_FUNCTION_RETVAL |
Aktiviert Nachverfolgung von 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, unter Verwendung von GetILToNativeMapping Zuordnungen zwischen IL-Code und nativem Code abzurufen. In .NET Framework 2.0 werden Zuordnungen zwischen IL-Code und nativem Code von der CLR immer nachverfolgt, daher gilt dieses Flag immer als festgelegt. |
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. So kann der Profiler anschließend das COR_PRF_MONITOR_OBJECT_ALLOCATED -Flag verwenden, um ObjectAllocated-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::SetEventMask verwendet, um die Ereignisbenachrichtigungen zu definieren, die die Common Language Runtime für den Profiler vornimmt.
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: CorProf.idl, CorProf.h
Bibliothek: CorGuids.lib
.NET Framework-Versionen: Seit Version 1.0 verfügbar