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 |
ClassLoad コールバックおよび ClassUnload コールバックを制御します。
メモ
このフラグの動作は、.NET Framework Version 2.0 で変更されています。
|
COR_PRF_MONITOR_MODULE_LOADS |
ModuleLoad、ModuleUnload、および ModuleAttachedToAssembly の各コールバックを制御します。 |
COR_PRF_MONITOR_ASSEMBLY_LOADS |
AssemblyLoad コールバックおよび AssemblyUnload コールバックを制御します。 |
COR_PRF_MONITOR_APPDOMAIN_LOADS |
AppDomainCreation コールバックおよび AppDomainShutdown コールバックを制御します。 |
COR_PRF_MONITOR_JIT_COMPILATION |
JITCompilation、JITFunctionPitched、および JITInlining の各コールバックを制御します。 |
COR_PRF_MONITOR_EXCEPTIONS |
ExceptionThrown、ExceptionSearch、ExceptionOSHandler、ExceptionUnwind、および ExceptionCatcher の各コールバックを制御します。 |
COR_PRF_MONITOR_GC |
GarbageCollectionStarted、GarbageCollectionFinished、MovedReferences、SurvivingReferences、ObjectReferences、ObjectsAllocatedByClass、RootReferences、HandleCreated、HandleDestroyed、および FinalizeableObjectQueued の各コールバックを制御します。 |
COR_PRF_MONITOR_OBJECT_ALLOCATED |
ObjectAllocated コールバックを制御します。 |
COR_PRF_MONITOR_THREADS |
ThreadCreated、ThreadDestroyed、ThreadAssignedToOSThread、および ThreadNameChanged の各コールバックを制御します。 |
COR_PRF_MONITOR_REMOTING |
Remoting コールバックを制御します。 |
COR_PRF_MONITOR_CODE_TRANSITIONS |
UnmanagedToManagedTransition コールバックおよび ManagedToUnmanagedTransition コールバックを制御します。 |
COR_PRF_MONITOR_ENTERLEAVE |
FunctionEnter、FunctionLeave、および FunctionTailcall の各コールバックを制御します。 |
COR_PRF_MONITOR_CCW |
COMClassicVTable コールバックを制御します。 |
COR_PRF_MONITOR_REMOTING_COOKIE |
Cookie を Remoting コールバックに渡すかどうかを制御します。 |
COR_PRF_MONITOR_REMOTING_ASYNC |
Remoting コールバックが非同期イベントを監視するかどうかを制御します。 |
COR_PRF_MONITOR_SUSPENDS |
RuntimeSuspend、RuntimeResume、RuntimeThreadSuspended、および RuntimeThreadResumed の各コールバックを制御します。 |
COR_PRF_MONITOR_CACHE_SEARCHES |
JITCachedFunctionSearch コールバックを制御します。
メモ
このフラグの動作は、.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 |
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