다음을 통해 공유


COR_PRF_MONITOR 열거형

프로파일러에서 구독할 동작, 기능 또는 이벤트를 지정하는 데 사용되는 값을 포함합니다.

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;

멤버

멤버

설명

COR_PRF_MONITOR_NONE

플래그가 설정되지 않습니다.

COR_PRF_MONITOR_FUNCTION_UNLOADS

FunctionUnloadStarted 콜백을 제어합니다.

COR_PRF_MONITOR_CLASS_LOADS

ClassLoadClassUnload 콜백을 제어합니다.

참고참고
.NET Framework 버전 2.0에서는 이 플래그의 동작이 변경되었습니다.

COR_PRF_MONITOR_MODULE_LOADS

ModuleLoad, ModuleUnloadModuleAttachedToAssembly 콜백을 제어합니다.

COR_PRF_MONITOR_ASSEMBLY_LOADS

AssemblyLoadAssemblyUnload 콜백을 제어합니다.

COR_PRF_MONITOR_APPDOMAIN_LOADS

AppDomainCreationAppDomainShutdown 콜백을 제어합니다.

COR_PRF_MONITOR_JIT_COMPILATION

JITCompilation, JITFunctionPitchedJITInlining 콜백을 제어합니다.

COR_PRF_MONITOR_EXCEPTIONS

ExceptionThrown, ExceptionSearch, ExceptionOSHandler, ExceptionUnwindExceptionCatcher 콜백을 제어합니다.

COR_PRF_MONITOR_GC

GarbageCollectionStarted, GarbageCollectionFinished, MovedReferences, SurvivingReferences, ObjectReferences, ObjectsAllocatedByClass, RootReferences, HandleCreated, HandleDestroyedFinalizeableObjectQueued 콜백을 제어합니다.

COR_PRF_MONITOR_OBJECT_ALLOCATED

ObjectAllocated 콜백을 제어합니다.

COR_PRF_MONITOR_THREADS

ThreadCreated, ThreadDestroyed, ThreadAssignedToOSThreadThreadNameChanged 콜백을 제어합니다.

COR_PRF_MONITOR_REMOTING

Remoting 콜백을 제어합니다.

COR_PRF_MONITOR_CODE_TRANSITIONS

UnmanagedToManagedTransitionManagedToUnmanagedTransition 콜백을 제어합니다.

COR_PRF_MONITOR_ENTERLEAVE

FunctionEnter, FunctionLeaveFunctionTailcall 콜백을 제어합니다.

COR_PRF_MONITOR_CCW

COMClassicVTable 콜백을 제어합니다.

COR_PRF_MONITOR_REMOTING_COOKIE

쿠키가 Remoting 콜백으로 전달되는지 여부를 제어합니다.

COR_PRF_MONITOR_REMOTING_ASYNC

Remoting 콜백에서 비동기 이벤트를 모니터링할지 여부를 제어합니다.

COR_PRF_MONITOR_SUSPENDS

RuntimeSuspend, RuntimeResume, RuntimeThreadSuspendedRuntimeThreadResumed 콜백을 제어합니다.

COR_PRF_MONITOR_CACHE_SEARCHES

JITCachedFunctionSearch 콜백을 제어합니다.

참고참고
.NET Framework 버전 2.0에서는 이 플래그의 동작이 변경되었습니다.

COR_PRF_MONITOR_CLR_EXCEPTIONS

ExceptionCLRCatcher 콜백을 제어합니다.

COR_PRF_MONITOR_ALL

모든 콜백 이벤트를 사용합니다.

COR_PRF_ENABLE_REJIT

이제는 사용되지 않습니다.

ReJIT는 지원되지 않습니다. 이 플래그는 아무런 효과가 없습니다.

COR_PRF_ENABLE_INPROC_DEBUGGING

이제는 사용되지 않습니다.

In process 디버깅은 지원되지 않습니다. 이 플래그는 아무런 효과가 없습니다.

COR_PRF_ENABLE_JIT_MAPS

이제는 사용되지 않습니다.

프로파일러에서 ICorProfilerInfo::GetILToNativeMapping을 사용하여 MSIL과 네이티브 간 맵을 가져올 수 있습니다. .NET Framework 버전 2.0의 경우 런타임에서 MSIL과 네이티브 간 맵을 항상 추적하므로 이 플래그는 항상 설정되는 것으로 간주됩니다.

COR_PRF_DISABLE_INLINING

모든 인라인을 사용하지 않습니다.

COR_PRF_DISABLE_OPTIMIZATIONS

모든 코드 최적화를 사용하지 않습니다.

COR_PRF_ENABLE_OBJECT_ALLOCATED

프로파일러에 개체 할당 알림이 필요함을 런타임에 알립니다. 프로파일러에서 COR_PRF_MONITOR_OBJECT_ALLOCATED를 통한 알림이 필요하면 초기화하는 동안 이 값을 설정해야 합니다.

COR_PRF_ENABLE_FUNCTION_ARGS

FunctionEnter2를 통한 인수 추적을 사용할 수 있도록 설정합니다.

COR_PRF_ENABLE_FUNCTION_RETVAL

FunctionLeave2를 통한 반환 값 추적을 사용할 수 있도록 설정합니다.

COR_PRF_ENABLE_FRAME_INFO

FunctionEnter2, FunctionLeave2 또는 FunctionTailcall2를 호출하여 반환된 COR_PRF_FRAME_INFO 구조체를 사용하여 GetFunctionInfo2를 호출함으로써 제네릭 함수의 정확한 ClassID를 검색할 수 있도록 합니다.

COR_PRF_ENABLE_STACK_SNAPSHOT

DoStackSnapshot 호출을 사용할 수 있도록 설정합니다.

COR_PRF_USE_PROFILE_IMAGES

네이티브 이미지 검색에서 프로파일러 확장 이미지를 찾도록 합니다. 지정된 어셈블리에 대한 프로파일러 확장 이미지를 찾지 못하면 공용 언어 런타임이 해당 어셈블리의 JIT로 대체됩니다.

COR_PRF_DISABLE_TRANSPARENCY_CHECKS_UNDER_FULL_TRUSt

JIT(Just-In-Time) 컴파일 및 완전 신뢰 어셈블리를 위해 로드하는 클래스 동안 일반적으로 수행되는 보안 투명 검사를 사용하지 않습니다. 일부 계측을 쉽게 수행할 수 있게 해줍니다.

COR_PRF_ALL

올바른 플래그 값에 대한 마스크입니다.

COR_PRF_MONITOR_IMMUTABLE

초기화하는 동안에만 설정할 수 있는 모든 플래그를 나타냅니다. 초기화 후 이 플래그를 변경하려고 하면 오류를 나타내는 HRESULT 값이 반환됩니다.

요구 사항

플랫폼: .NET Framework 시스템 요구 사항 참조

헤더: CorProf.idl, CorProf.h

라이브러리: CorGuids.lib

.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0, 1.1, 1.0

참고 항목

기타 리소스

프로파일링 열거형