0

JIT 時にメソッドにコードを挿入する CLR プロファイラーを作成しました。挿入するコードは .NET 3.5+ に依存します。プロファイラーの初期化時に使用可能な .NET Framework のバージョンを検出するにはどうすればよいICorProfilerCallback::Initializeですか ( )。

理想的には、.NET 3.5 以降がインストールされていない場合は、プロファイラーをロードしないようにしたいと思います。つまり、.NETCORPROF_E_PROFILER_CANCEL_ACTIVATIONから戻ることを意味しInitializeます。後で (モジュールの読み込み時などに) バージョンを検出しないと、プロファイリング フラグが設定され、特定の CLR 最適化が無効になります。これは、プロファイラーが実際には機能しないため望ましくありません。

4

0 に答える 0