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

Voir aussi