プロファイリングのインターフェイス

ここでは、共通言語ランタイム (CLR) で実行中のプログラムに対してプロファイルを可能にするアンマネージ インターフェイスについて説明します。

このセクションの内容

ICLRProfiling インターフェイス
AttachProfiler メソッドを提供します。これによりプロファイラーを実行中のプロセスにアタッチできるようになります。

ICorProfilerAssemblyReferenceProvider インターフェイス
プロファイラーが ICorProfilerCallback::ModuleLoadFinished コールバックに追加するアセンブリ参照を、CLR に通知できるようにします。

ICorProfilerCallback インターフェイス
プロファイラーがサブスクライブしたイベントが発生したときにコード プロファイラーに通知するために、CLR が使用するメソッドを提供します。

ICorProfilerCallback2 インターフェイス
.NET Framework 2.0 以降でサポートされるコールバックによって、ICorProfilerCallback インターフェイスを拡張します。

ICorProfilerCallback3 インターフェイス
CLR がプロファイラーにアタッチとデタッチの状態情報を伝えるために使用するコールバック メソッドを提供します。

ICorProfilerCallback4 インターフェイス
プロファイラーと情報をやりとりするために CLR が使用するコールバック メソッドを提供します。

ICorProfilerCallback5 インターフェイス
ガベージ コレクションのルートによって参照されるオブジェクトの遷移的なクロージャを識別するメソッドを提供します。

ICorProfilerCallback6 インターフェイス
CLR が プロファイラーに対して、アセンブリがロード中であることを通知するために使用するコールバック メソッドを提供します。

ICorProfilerCallback7 インターフェイス
メモリ内のモジュールに関連付けられているシンボルのストリームが更新されたことをプロファイラーに通知するために、共通言語ランタイムが使用するコールバック メソッドを提供します。

ICorProfilerCallback8 インターフェイス
動的メソッドの JIT コンパイルが開始および終了したことをプロファイラーに通知するために共通言語ランタイムで使用されるコールバック メソッドを提供します。

ICorProfilerCallback9 インターフェイス
動的メソッドがガベージ コレクトされ、その後アンロードされることをプロファイラーに通知するために、共通言語ランタイムによって使用されるコールバック メソッドを提供します。

ICorProfilerCallback10 インターフェイス
(.NET Core) プロファイラーに、EventPipe イベントがそのプロファイラーの現在アクティブなセッションに配信されたことを通知するためのコールバック メソッドを提供します。

ICorProfilerFunctionControl インターフェイス
コード プロファイラーが CLR と通信できるようにするためのメソッドを提供します。これは特定のメソッドを再コンパイルするときに、JIT コンパイラーがどのようにしてコードを生成するかを制御するためのものです。

ICorProfilerFunctionEnum インターフェイス
CLR で関数のコレクションを順番に反復処理するためのメソッドを提供します。

ICorProfilerInfo インターフェイス
コード プロファイラーが、イベントの監視および情報の要求を制御するために CLR との通信で使用するメソッドを提供します。

ICorProfilerInfo2 インターフェイス
.NET Framework 2.0 以降でサポートされるメソッドによって、ICorProfilerInfo インターフェイスを拡張します。

ICorProfilerInfo3 インターフェイス
.NET Framework 4 以降のバージョンでサポートされるメソッドによって、ICorProfilerInfo2 インターフェイスを拡張します。

ICorProfilerInfo4 インターフェイス
コード プロファイラーが、イベントの監視および情報の要求を制御するために CLR との通信で使用するメソッドを提供します。

ICorProfilerInfo5 インターフェイス
コード プロファイラーが、イベントの監視を制御するために CLR との通信で使用するメソッドを提供します。

ICorProfilerInfo6 インターフェイス
特定の NGen モジュールに属し、特定のメソッドの本体にインライン化されるすべてのメソッドの列挙子を提供します。

ICorProfilerInfo7 インターフェイス
新しく定義されたメタデータをモジュールに適用するメソッドを提供し、メモリ内のシンボルのストリームへのアクセスを提供します。

ICorProfilerInfo8 インターフェイス
動的メソッドに関する情報を照会するメソッドを提供します。

ICorProfilerInfo9 インターフェイス
(.NET Core) 複数のネイティブ コード バージョンを持つ関数に関する情報を照会するためのメソッドを提供します。

ICorProfilerInfo10 インターフェイス
(.NET Core) 関数 IL の変更、ランタイムからの情報の照会、およびランタイムの一時停止と再開のためのメソッドを提供します。

ICorProfilerInfo11 インターフェイス
(.NET Core) プロセスで環境変数を取得および設定するためのメソッドを提供します。

ICorProfilerInfo12 インターフェイス
(.NET Core) EventPipe セッション、イベント、プロバイダーを作成するためのメソッドを提供します。

ICorProfilerInfo13 インターフェイス
(.NET Core) オブジェクトをラップする弱い、強い、ピン留めされたハンドルを管理するメソッドを提供します。

ICorProfilerModuleEnum インターフェイス
アプリケーションまたはプロファイラーによってロードされたモジュールのコレクションを順番に反復処理するためのメソッドを提供します。

ICorProfilerObjectEnum インターフェイス
Ngen.exe (ネイティブ イメージ ジェネレーター) によって生成された固定オブジェクトのコレクションを順番に反復処理するためのメソッドを提供します。

ICorProfilerThreadEnum インターフェイス
CLR でスレッドのコレクションを順番に反復処理するためのメソッドを提供します。

IMethodMalloc インターフェイス
新しい Microsoft Intermediate Language (MSIL) 関数の本体にメモリを割り当てる Alloc メソッドを提供します。

プロファイリングの概要

グローバル静的関数のプロファイル

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

構造体のプロファイリング