.NET アプリケーション用の小さなプロファイラーを作成しました。インターフェースを使用していICorProfilerCallback2
ます。
プロファイラーは、.NET 2.0 アプリケーションにアタッチして適切に機能しますが、.NET >2.0 (3.0、3.5、4.0) では機能しません。.NET 4.0 でコンパイルされた exe を起動しても何も起こりませんが、.NET 2.0 ではプロファイラーが起動します。マネージドexeを実行する前に、次の変数を設定しています
@Echo off
set Cor_Enable_Profiling=0x1
set COR_PROFILER={67D8965A-8686-2639-9C24-E1F7D13EE105}
set COR_PROFILER_DLL=e:\Debug\Profiler.dll
set COR_PROFILER_PATH=e:\Debug\Profiler.dll
なぜこれが起こるのでしょうか?それも入らないDllMain