COR_PRF_MONITOR, énumération
Contient des valeurs utilisées pour spécifier un comportement, des fonctionnalités ou des événements auxquels le profileur veut s'abonner.
Syntaxe
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;
Membres
Les sections suivantes répertorient COR_PRF_MONITOR
membres d’énumération par catégorie. Les catégories sont les suivantes :
Aucun indicateur défini.
Membre | Description |
---|---|
COR_PRF_MONITOR_NONE |
Aucun indicateur n'est défini. |
Indicateurs de rappel
Membre | Description |
---|---|
COR_PRF_MONITOR_ALL |
Active tous les événements de rappel. |
COR_PRF_MONITOR_APPDOMAIN_LOADS |
Contrôle les rappels AppDomainCreation* et AppDomainShutdown* dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_ASSEMBLY_LOADS |
Contrôle les rappels AssemblyLoad* et AssemblyUnload* dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_CACHE_SEARCHES |
Contrôle les rappels JITCachedFunctionSearch* dans l’interface ICorProfilerCallback.Le comportement de cet indicateur est changé dans .NET Framework version 2.0. |
COR_PRF_MONITOR_CCW |
Contrôle les rappels COMClassicVTable* dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_CLASS_LOADS |
Contrôle les rappels ClassLoad* et ClassUnload* dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_CLR_EXCEPTIONS |
Contrôle les rappels ExceptionCLRCatcher* dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_CODE_TRANSITIONS |
Contrôle les rappels UnmanagedToManagedTransition et ManagedToUnmanagedTransition dans l’interface ICorProfilerCallback |
COR_PRF_MONITOR_ENTERLEAVE |
Contrôle FunctionEnter* , FunctionLeave* et les FunctionTailCall* fonctions statiques globales de profilage. |
COR_PRF_MONITOR_EXCEPTIONS |
Contrôle le rappel ExceptionThrown et les rappels ExceptionSearch* , ExceptionOSHandler* , ExceptionUnwind* et ExceptionCatcher* dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_FUNCTION_UNLOADS |
Contrôle le rappel de FunctionUnloadStarted dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_GC |
Contrôle les rappels GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, MovedReferences2, SurvivingReferences, SurvivingReferences2, ObjectReferences, ObjectsAllocatedByClass, RootReferences, RootReferences2, HandleCreated, HandleDestroyed et FinalizeableObjectQueued dans les interfaces ICorProfilerCallback* . Lorsque COR_PRF_MONITOR_GC est alloué, le garbage collection simultané est désactivé. |
COR_PRF_MONITOR_JIT_COMPILATION |
Contrôle les rappels JITCompilation* , JITFunctionPitched et JITInlining dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_MODULE_LOADS |
Contrôle les rappels ModuleLoad* , ModuleUnload* et ModuleAttachedToAssembly dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_OBJECT_ALLOCATED |
Contrôle le rappel ObjectAllocated dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_REMOTING |
Contrôle les rappels Remoting* dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_REMOTING_ASYNC |
Contrôle si les rappels Remoting* surveillent les événements asynchrones. |
COR_PRF_MONITOR_REMOTING_COOKIE |
Contrôle si un cookie est passé aux rappels Remoting* . |
COR_PRF_MONITOR_SUSPENDS |
Contrôle les rappels RuntimeSuspend* , RuntimeResume* , RuntimeThreadSuspended et RuntimeThreadResumed dans l’interface ICorProfilerCallback. |
COR_PRF_MONITOR_THREADS |
Contrôle les rappels ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThreadet ThreadNameChanged dans les interfaces ICorProfilerCallback et ICorProfilerCallback2. |
Indicateurs d’activation de fonctionnalité
Membre | Description |
---|---|
COR_PRF_ENABLE_FRAME_INFO |
Active la récupération d’un ClassID exact pour une fonction générique en appelant la méthode GetFunctionInfo2 avec une valeur COR_PRF_FRAME_INFO retournée par le rappel de FunctionEnter2. |
COR_PRF_ENABLE_FUNCTION_ARGS |
Active le suivi d’arguments à l’aide du rappel FunctionEnter2 ou du rappel FunctionEnter3WithInfo et de la méthode GetFunctionEnter3Info. |
COR_PRF_ENABLE_FUNCTION_RETVAL |
Active le suivi des valeurs de retour à l’aide du rappel FunctionLeave2 ou du rappel FunctionLeave3WithInfo et de la méthode GetFunctionLeave3Info. |
COR_PRF_ENABLE_INPROC_DEBUGGING |
Action déconseillée. Le débogage in-process n'est pas pris en charge. Cet indicateur est sans effet. |
COR_PRF_ENABLE_JIT_MAPS |
Action déconseillée. Permet au profileur d’obtenir des mappes Langage intermédiaire – Natif en utilisant GetILToNativeMapping. Depuis .NET Framework 2.0, le runtime fait toujours le suivi des mappes Langage intermédiaire – Natif. Cet indicateur est donc toujours considéré comme étant défini. |
COR_PRF_ENABLE_OBJECT_ALLOCATED |
Informe le runtime que le profileur est susceptible de demander l'allocation d'objets. Cet indicateur doit être défini lors de l'initialisation. Il permet au profileur d’utiliser ensuite l’indicateur COR_PRF_MONITOR_OBJECT_ALLOCATED pour recevoir des rappels ObjectAllocated. |
COR_PRF_ENABLE_REJIT |
Active les appels aux méthodes RequestReJIT et RequestRevert. Le profileur doit définir cet indicateur au démarrage. Si le profileur spécifie cet indicateur, il doit aussi spécifier COR_PRF_DISABLE_ALL_NGEN_IMAGES . |
COR_PRF_ENABLE_STACK_SNAPSHOT |
Active les appels à la méthode DoStackSnapshot. |
Indicateurs de configuration
Membre | Description |
---|---|
COR_PRF_DISABLE_ALL_NGEN_IMAGES |
Empêche le chargement de toutes les images natives (y compris les images optimisées par le profileur). Si cet indicateur et l'indicateur COR_PRF_USE_PROFILE_IMAGES sont tous deux spécifiés, COR_PRF_DISABLE_ALL_NGEN_IMAGES est utilisé. |
COR_PRF_DISABLE_INLINING |
Désactive toutes les incorporations. |
COR_PRF_DISABLE_OPTIMIZATIONS |
Désactive toutes les optimisations du code. |
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST |
Désactive les vérifications de transparence de sécurité qui sont normalement effectuées lors de la compilation juste-à-temps et le chargement des classes pour les assemblys de confiance totale. Ceci peut rendre certaines instrumentations plus faciles à effectuer. |
COR_PRF_USE_PROFILE_IMAGES |
Fait que la recherche d'images natives s'effectue dans les images optimisées par le profileur. Si aucune image optimisée par le profileur n'est trouvée pour un assembly donné, le CLR (Common Language Runtime) passe au juste-à-temps pour cet assembly. Si cet indicateur et l'indicateur COR_PRF_DISABLE_ALL_NGEN_IMAGES sont tous deux spécifiés, COR_PRF_DISABLE_ALL_NGEN_IMAGES est utilisé. |
Indicateurs composites
Membre | Description |
---|---|
COR_PRF_ALL |
Représente toutes valeurs de l'indicateur COR_PRF_MONITOR . |
COR_PRF_ALLOWABLE_AFTER_ATTACH |
Représente tous les indicateurs COR_PRF_MONITOR qui peuvent être définis une fois que le profileur est attaché à une application en cours d'exécution. La section Syntaxe indique les indicateurs individuels qui sont présents dans ce masque de bits. |
COR_PRF_MONITOR_ALL |
Active tous les événements de rappel. |
COR_PRF_MONITOR_IMMUTABLE |
Représente tous les indicateurs COR_PRF_MONITOR qui peuvent être définis uniquement lors de l'initialisation. Les tentatives de modification d'un ou plusieurs de ces indicateurs après l'initialisation retournent une valeur HRESULT , qui indique un échec. |
COR_PRF_REQUIRE_PROFILE_IMAGE |
Représente tous les indicateurs COR_PRF_MONITOR qui requièrent des images à profil optimisé. |
Notes
Une valeur COR_PRF_MONITOR
est utilisée avec les méthodes ICorProfilerInfo::GetEventMask et ICorProfilerInfo::SetEventMask pour définir les notifications d’événements faites par le CLR (Common Language Runtime) au profileur.
Spécifications
Plateformes : Consultez Configuration requise.
En-tête : CorProf.idl, CorProf.h
Bibliothèque : CorGuids.lib
Versions de .NET Framework : Disponible à partir de la version 1.0