次の方法で共有


COR_PRF_MONITOR

更新 : 2007 年 11 月

プロファイラがサブスクライブする動作、機能、またはイベントを指定するために使用される値を含みます。

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_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

ClassLoad コールバックおよび ClassUnload コールバックを制御します。

ms231874.alert_note(ja-jp,VS.90).gifメモ :
このフラグの動作は、.NET Framework Version 2.0 で変更されています。

COR_PRF_MONITOR_MODULE_LOADS

ModuleLoadModuleUnload、および ModuleAttachedToAssembly の各コールバックを制御します。

COR_PRF_MONITOR_ASSEMBLY_LOADS

AssemblyLoad コールバックおよび AssemblyUnload コールバックを制御します。

COR_PRF_MONITOR_APPDOMAIN_LOADS

AppDomainCreation コールバックおよび AppDomainShutdown コールバックを制御します。

COR_PRF_MONITOR_JIT_COMPILATION

JITCompilationJITFunctionPitched、および JITInlining の各コールバックを制御します。

COR_PRF_MONITOR_EXCEPTIONS

ExceptionThrownExceptionSearchExceptionOSHandlerExceptionUnwind、および ExceptionCatcher の各コールバックを制御します。

COR_PRF_MONITOR_GC

GarbageCollectionStartedGarbageCollectionFinishedMovedReferencesSurvivingReferencesObjectReferencesObjectsAllocatedByClassRootReferencesHandleCreatedHandleDestroyed、および FinalizeableObjectQueued の各コールバックを制御します。

COR_PRF_MONITOR_OBJECT_ALLOCATED

ObjectAllocated コールバックを制御します。

COR_PRF_MONITOR_THREADS

ThreadCreatedThreadDestroyedThreadAssignedToOSThread、および ThreadNameChanged の各コールバックを制御します。

COR_PRF_MONITOR_REMOTING

Remoting コールバックを制御します。

COR_PRF_MONITOR_CODE_TRANSITIONS

UnmanagedToManagedTransition コールバックおよび ManagedToUnmanagedTransition コールバックを制御します。

COR_PRF_MONITOR_ENTERLEAVE

FunctionEnterFunctionLeave、および FunctionTailcall の各コールバックを制御します。

COR_PRF_MONITOR_CCW

COMClassicVTable コールバックを制御します。

COR_PRF_MONITOR_REMOTING_COOKIE

Cookie を Remoting コールバックに渡すかどうかを制御します。

COR_PRF_MONITOR_REMOTING_ASYNC

Remoting コールバックが非同期イベントを監視するかどうかを制御します。

COR_PRF_MONITOR_SUSPENDS

RuntimeSuspendRuntimeResumeRuntimeThreadSuspended、および RuntimeThreadResumed の各コールバックを制御します。

COR_PRF_MONITOR_CACHE_SEARCHES

JITCachedFunctionSearch コールバックを制御します。

ms231874.alert_note(ja-jp,VS.90).gifメモ :
このフラグの動作は、.NET Framework Version 2.0 で変更されています。

COR_PRF_MONITOR_CLR_EXCEPTIONS

ExceptionCLRCatcher コールバックを制御します。

COR_PRF_MONITOR_ALL

すべてのコールバック イベントを有効にします。

COR_PRF_ENABLE_REJIT

使用は推奨されていません。

ReJIT はサポートされていません。このフラグは無効です。

COR_PRF_ENABLE_INPROC_DEBUGGING

使用は推奨されていません。

インプロセス デバッグはサポートされていません。このフラグは無効です。

COR_PRF_ENABLE_JIT_MAPS

使用は推奨されていません。

プロファイラが ICorProfilerInfo::GetILToNativeMapping を使用して MSIL からネイティブへの割り当てを取得できるようにします。.NET Framework Version 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

FunctionEnter2FunctionLeave2、または FunctionTailcall2 の呼び出しから返される COR_PRF_FRAME_INFO 構造体を使用して GetFunctionInfo2 を呼び出すことで、ジェネリック関数の正確な ClassID を取得できるようにします。

COR_PRF_ENABLE_STACK_SNAPSHOT

DoStackSnapshot の呼び出しを有効にします。

COR_PRF_USE_PROFILE_IMAGES

ネイティブ イメージ検索でプロファイラが拡張したイメージを検索します。指定のアセンブリでプロファイラが拡張したイメージが見つからなかった場合は、共通言語ランタイムはそのアセンブリの JIT まで戻ります。

COR_PRF_ALL

有効なフラグ値のマスク。

COR_PRF_MONITOR_IMMUTABLE

初期化中にのみ設定できるすべてのフラグを表します。初期化後にこれらのフラグのいずれかを変更しようとすると、エラーを示す HRESULT 値が返されます。

必要条件

プラットフォーム : 「.NET Framework システム要件」を参照

ヘッダー : CorProf.idl

ライブラリ : CorGuids.lib

.NET Framework のバージョン : 3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0、1.1、1.0

参照

その他の技術情報

列挙体のプロファイリング