2016-07-06 4 views
0

私はCLRプロファイラICLRProfiling::AttachProfiler方法を使用する主な利点は、あなたが今、ターゲット・プロセスは、そのあなたもを開始した後長いあなたのCLRプロファイラを添付することができるということです集まります起動時にプロセスに環境変数COR_ENABLE_PROFILINGCOR_PROFILERを渡す必要はありませんか?これらの正しい仮定はどちらも正しいですか?CLRプロファイリングとICLRProfilingを使用して書き換え:: AttachProfiler()

また、私は将来的には、以下をサポートしますが、希望していないblog post from 2011ICLRProfiling::AttachProfilerことをCLRのプロファイリングチームに読んだ:

  • GetILFunctionBody

  • GetILFunctionBodyAllocator

  • SetILFunctionBody

  • SetILInstrumentedCodeMap

  • SetEnterLeaveFunctionHooks*

  • SetFunctionIDMapper*

  • GetNotifiedExceptionClauseInfo

Tailcall

/脱退/入力に関連するすべての方法は、これらのサポートされるようになりましたか?私は私が今オンラインでもっと何かを見つけたことがないので、2011年から2012年までのMicrosoftの多くのリンクは今や死にました。そうでない場合は、ICLRProfiling::AttachProfilerを使用してCLRプロファイラを接続すると、関数本体をILで書き直すこともできますか?

答えて

0

答えは悲しいことに「いいえ」でした.CLRアタッチ・プロファイラー・モードでILリライティングを実行することはできません。まだプロセス起動モードでのみサポートされています。

私のCLRプロファイラの実装でICorProfilerInfo::GetILFunctionBody()メソッドの呼び出しはCORPROF_E_UNSUPPORTED_FOR_ATTACHING_PROFILERを返します。

GetILFunctionBodyは()これがなぜ起こるかを掘り下げるに興味のある人のための

ICorProfilerInfo::GetILFunctionBody()source is here 0x8013136fエラーで失敗しました。

関連する問題