Enumerazione COR_PRF_MONITOR

Contiene i valori usati per specificare il comportamento, le funzionalità o gli eventi ai quali il profiler intende effettuare la sottoscrizione.

Sintassi

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;  

Members

Le sezioni seguenti elencano COR_PRF_MONITOR i membri dell'enumerazione per categoria. Le categorie sono le seguenti:

Nessun flag impostato

Membro Descrizione
COR_PRF_MONITOR_NONE Nessun flag impostato.

Flag di callback

Membro Descrizione
COR_PRF_MONITOR_ALL Abilita tutti gli eventi di callback.
COR_PRF_MONITOR_APPDOMAIN_LOADS Controlla i AppDomainCreation* callback e AppDomainShutdown* nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_ASSEMBLY_LOADS Controlla i AssemblyLoad* callback e AssemblyUnload* nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_CACHE_SEARCHES Controlla i JITCachedFunctionSearch* callback nell'interfaccia ICorProfilerCallback .

Il comportamento di questo flag viene modificato in .NET Framework versione 2.0.
COR_PRF_MONITOR_CCW Controlla i COMClassicVTable* callback nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_CLASS_LOADS Controlla i ClassLoad* callback e ClassUnload* nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_CLR_EXCEPTIONS Controlla i ExceptionCLRCatcher* callback nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_CODE_TRANSITIONS Controlla i callback UnmanagedToManagedTransition e ManagedToUnmanagedTransition nell'interfaccia ICorProfilerCallback
COR_PRF_MONITOR_ENTERLEAVE Controlla le FunctionEnter*funzioni statiche globali , FunctionLeave*e FunctionTailCall* .
COR_PRF_MONITOR_EXCEPTIONS Controlla il callback ExceptionThrown e i ExceptionSearch*callback , ExceptionOSHandler*, ExceptionUnwind*e ExceptionCatcher* nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_FUNCTION_UNLOADS Controlla il callback FunctionUnloadStarted nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_GC Controlla GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, MovedReferences2, SurvivingReferences, SurvivingReferences2, ObjectReferences, ObjectsAllocatedByClass, RootReferences, RootReferences2, HandleCreated, HandleDestroyed e FinalizeableObjectQueuedICorProfilerCallback* nelle interfacce. Quando COR_PRF_MONITOR_GC viene allocata, l'operazione di Garbage Collection simultanea viene disattivata.
COR_PRF_MONITOR_JIT_COMPILATION Controlla i JITCompilation*callback , JITFunctionPitched e JITInlining nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_MODULE_LOADS Controlla i ModuleLoad*callback , ModuleUnload*e ModuleAttachedToAssembly nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_OBJECT_ALLOCATED Controlla il callback ObjectAllocated nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_REMOTING Controlla i Remoting* callback nell'interfaccia ICorProfilerCallback .
COR_PRF_MONITOR_REMOTING_ASYNC Controlla se i callback di Remoting* monitoreranno gli eventi asincroni.
COR_PRF_MONITOR_REMOTING_COOKIE Controlla se un cookie viene passato ai callback di Remoting*.
COR_PRF_MONITOR_SUSPENDS Controlla i RuntimeSuspend*callback , RuntimeResume*RuntimeThreadSuspended e RuntimeThreadResumed nell'interfaccia ICorProfilerCallback.
COR_PRF_MONITOR_THREADS Controlla i callback ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThread e ThreadNameChanged nelle interfacce ICorProfilerCallback e ICorProfilerCallback2 .

Flag di abilitazione delle funzionalità

Membro Descrizione
COR_PRF_ENABLE_FRAME_INFO Abilita il recupero di un oggetto esatto ClassID per una funzione generica chiamando il metodo GetFunctionInfo2 con un COR_PRF_FRAME_INFO valore restituito dal callback FunctionEnter2 .
COR_PRF_ENABLE_FUNCTION_ARGS Abilita la traccia degli argomenti usando il callback FunctionEnter2 o il callback FunctionEnter3WithInfo e il metodo GetFunctionEnter3Info .
COR_PRF_ENABLE_FUNCTION_RETVAL Abilita la traccia dei valori restituiti usando il callback FunctionLeave2 o il callback FunctionLeave3WithInfo e il metodo GetFunctionLeave3Info .
COR_PRF_ENABLE_INPROC_DEBUGGING Deprecato.

Il debug in-process non è supportato. Questo flag non ha alcun effetto.
COR_PRF_ENABLE_JIT_MAPS Deprecato.

Consente al profiler di ottenere mappe il-to-native usando GetILToNativeMapping. A partire da .NET Framework 2.0, il runtime tiene sempre traccia delle mappe il-to-native; pertanto, questo flag viene sempre considerato impostato.
COR_PRF_ENABLE_OBJECT_ALLOCATED Indica al runtime di notificare al profiler le allocazioni degli oggetti. Questo flag deve essere impostato durante l'inizializzazione. Consente al profiler di usare successivamente il COR_PRF_MONITOR_OBJECT_ALLOCATED flag per ricevere i callback ObjectAllocated .
COR_PRF_ENABLE_REJIT Abilita le chiamate ai metodi RequestReJIT e RequestRevert . Il profiler deve impostare questo flag all'avvio. Se il profiler specifica questo flag, deve specificare anche COR_PRF_DISABLE_ALL_NGEN_IMAGES.
COR_PRF_ENABLE_STACK_SNAPSHOT Abilita le chiamate al metodo DoStackSnapshot .

Flag di configurazione

Membro Descrizione
COR_PRF_DISABLE_ALL_NGEN_IMAGES Impedisce il caricamento di tutte le immagini native, comprese le immagini ottimizzate per il profiler. Se vengono specificati sia questo flag che il flag COR_PRF_USE_PROFILE_IMAGES, verrà usato il flag COR_PRF_DISABLE_ALL_NGEN_IMAGES.
COR_PRF_DISABLE_INLINING Disabilita tutte le funzionalità inline.
COR_PRF_DISABLE_OPTIMIZATIONS Disabilita tutte le ottimizzazioni del codice.
COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUST Disabilita i controlli per la trasparenza della sicurezza eseguiti generalmente durante la compilazione JIT e il caricamento delle classi per gli assembly con attendibilità totale. Ciò può rendere alcune strumentazioni più facili da eseguire.
COR_PRF_USE_PROFILE_IMAGES Fa sì che la ricerca delle immagini native venga avviata per le immagini ottimizzate per il profiler. Se non viene trovata alcuna immagine ottimizzata per il profiler relativa a un assembly specifico, Common Language Runtime esegue il fallback a JIT per tale assembly. Se vengono specificati sia questo flag che il flag COR_PRF_DISABLE_ALL_NGEN_IMAGES, verrà usato il flag COR_PRF_DISABLE_ALL_NGEN_IMAGES.

Flag composti

Membro Descrizione
COR_PRF_ALL Rappresenta tutti i valori del flag COR_PRF_MONITOR.
COR_PRF_ALLOWABLE_AFTER_ATTACH Rappresenta tutti i flag COR_PRF_MONITOR che possono essere impostati dopo la connessione del profiler a un'applicazione in esecuzione. La sezione sintassi indica i singoli flag presenti in questa maschera di bit.
COR_PRF_MONITOR_ALL Abilita tutti gli eventi di callback.
COR_PRF_MONITOR_IMMUTABLE Rappresenta tutti i flag COR_PRF_MONITOR che possono essere impostati solo durante l'inizializzazione. Se si prova a modificare uno di questi flag dopo l'inizializzazione, viene restituito un valore HRESULT che indica un errore.
COR_PRF_REQUIRE_PROFILE_IMAGE Rappresenta tutti i flag COR_PRF_MONITOR che richiedono le immagini ottimizzate per il profiler.

Commenti

Un COR_PRF_MONITOR valore viene usato con i metodi ICorProfilerInfo::GetEventMask e ICorProfilerInfo::SetEventMask per definire le notifiche degli eventi inviate da Common Language Runtime al profiler.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET Framework: Disponibile dalla versione 1.0

Vedi anche