Condividi tramite


Enumerazione COR_PRF_MONITOR

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

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_MONITOR_CLR_EXCEPTIONS      = 0x01000000,
    COR_PRF_MONITOR_ALL                 = 0x0107FFFF,
    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_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_ALL                         = 0x3FFFFFFF,
    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_MONITOR_GC |
        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_ENABLE_STACK_SNAPSHOT |
        COR_PRF_USE_PROFILE_IMAGES
    
} COR_PRF_MONITOR;

Membri

Membro

Oggetto di descrizione

COR_PRF_MONITOR_NONE

Nessun flag impostato.

COR_PRF_MONITOR_FUNCTION_UNLOADS

Controlla il callback di FunctionUnloadStarted.

COR_PRF_MONITOR_CLASS_LOADS

Controlla i callback di ClassLoad e ClassUnload.

NotaNota
Il comportamento di questo flag è stato modificato in .NET Framework versione 2.0.

COR_PRF_MONITOR_MODULE_LOADS

Controlla i callback di ModuleLoad, ModuleUnload e ModuleAttachedToAssembly.

COR_PRF_MONITOR_ASSEMBLY_LOADS

Controlla i callback di AssemblyLoad e AssemblyUnload.

COR_PRF_MONITOR_APPDOMAIN_LOADS

Controlla i callback di AppDomainCreation e AppDomainShutdown.

COR_PRF_MONITOR_JIT_COMPILATION

Controlla i callback di JITCompilation, JITFunctionPitched e JITInlining.

COR_PRF_MONITOR_EXCEPTIONS

Controlla i callback di ExceptionThrown, ExceptionSearch, ExceptionOSHandler, ExceptionUnwind e ExceptionCatcher.

COR_PRF_MONITOR_GC

Controlla i callback di GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, SurvivingReferences, ObjectReferences, ObjectsAllocatedByClass, RootReferences, HandleCreated, HandleDestroyed e FinalizeableObjectQueued.

COR_PRF_MONITOR_OBJECT_ALLOCATED

Controlla il callback di ObjectAllocated.

COR_PRF_MONITOR_THREADS

Controlla i callback di ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThread e ThreadNameChanged.

COR_PRF_MONITOR_REMOTING

Controlla i callback di Remoting.

COR_PRF_MONITOR_CODE_TRANSITIONS

Controlla i callback di UnmanagedToManagedTransition e ManagedToUnmanagedTransition.

COR_PRF_MONITOR_ENTERLEAVE

Controlla i callback di FunctionEnter, FunctionLeave e FunctionTailcall.

COR_PRF_MONITOR_CCW

Controlla i callback di COMClassicVTable.

COR_PRF_MONITOR_REMOTING_COOKIE

Controlla se un cookie viene passato ai callback di Remoting.

COR_PRF_MONITOR_REMOTING_ASYNC

Controlla se i callback di Remoting monitoreranno gli eventi asincroni.

COR_PRF_MONITOR_SUSPENDS

Controlla i callback di RuntimeSuspend, RuntimeResume, RuntimeThreadSuspended e RuntimeThreadResumed.

COR_PRF_MONITOR_CACHE_SEARCHES

Controlla i callback di JITCachedFunctionSearch.

NotaNota
Il comportamento di questo flag è stato modificato in .NET Framework versione 2.0.

COR_PRF_MONITOR_CLR_EXCEPTIONS

Controlla i callback di ExceptionCLRCatcher.

COR_PRF_MONITOR_ALL

Attiva tutti gli eventi di callback.

COR_PRF_ENABLE_REJIT

Obsoleta.

Oggetto ReJIT non supportato. Questo flag non ha alcun effetto.

COR_PRF_ENABLE_INPROC_DEBUGGING

Obsoleta.

Debug in process non supportato. Questo flag non ha alcun effetto.

COR_PRF_ENABLE_JIT_MAPS

Obsoleta.

Consente al profiler di ottenere mapping del codice MSIL al codice nativo utilizzando il metodo ICorProfilerInfo::GetILToNativeMapping. In .NET Framework versione 2.0, il runtime tiene sempre traccia dei mapping del codice MSIL al codice nativo, pertanto questo flag sarà considerato sempre impostato.

COR_PRF_DISABLE_INLINING

Disabilita tutte le funzionalità inline.

COR_PRF_DISABLE_OPTIMIZATIONS

Disabilita tutte le ottimizzazioni del codice.

COR_PRF_ENABLE_OBJECT_ALLOCATED

Indica al runtime di notificare al profiler le allocazioni degli oggetti. Questo valore deve essere impostato in fase di inizializzazione, se il profiler richiede che la notifica venga inoltrata con COR_PRF_MONITOR_OBJECT_ALLOCATED.

COR_PRF_ENABLE_FUNCTION_ARGS

Attiva la tracciatura degli argomenti tramite FunctionEnter2.

COR_PRF_ENABLE_FUNCTION_RETVAL

Attiva la tracciatura dei valori restituiti tramite FunctionLeave2.

COR_PRF_ENABLE_FRAME_INFO

Attiva il recupero di un valore ClassID esatto per una funzione generica tramite una chiamata a GetFunctionInfo2 con una struttura COR_PRF_FRAME_INFO restituita da una chiamata a FunctionEnter2, FunctionLeave2 o FunctionTailcall2.

COR_PRF_ENABLE_STACK_SNAPSHOT

Attiva le chiamate a DoStackSnapshot.

COR_PRF_USE_PROFILE_IMAGES

Fa sì che la ricerca delle immagini native inizi dalle immagini ottimizzate del profiler. Se non viene trovata alcuna immagine ottimizzata del profiler relativa a un determinato assembly, Common Language Runtime ricorre a JIT per l'assembly in questione.

COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUSt

Disabilita i controlli SecurityTransparent che generalmente si fanno durante la compilazione JIT e il caricamento di classi per gli assembly di totale attendibilità. Può rendere alcune strumentazioni più facile eseguire.

COR_PRF_ALL

Maschera per valori di flag validi.

COR_PRF_MONITOR_IMMUTABLE

Rappresenta tutti i flag che possono essere impostati solo in fase di inizializzazione. Se si tenta di cambiare uno qualsiasi di questi flag dopo l'inizializzazione, verrà restituito un valore HRESULT che indica un errore.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: CorProf.idl, CorProf.h

Libreria: CorGuids.lib

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

Vedere anche

Altre risorse

Enumerazioni di profilatura