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