5

F#クラスを参照するC#Windowsアプリケーションを含むVisualStudioプロジェクトがあります。Visual Studio 2010パフォーマンスプロファイラーをインストルメンテーションモードで実行すると、C#アプリケーションによって呼び出された場所以外にF#クラスのインストルメンテーション情報が表示されません。

サンプリングモードで実行すると、正常に動作します。

VS2012でプロジェクトを実行しようとしましたが、同じ問題が発生します。

Visual StudioでF#クラスのインストルメンテーション情報を表示するにはどうすればよいですか?

4

1 に答える 1

4

インストルメンテーション モードで実行すると、プロファイラーはすべてのメソッドの入口/出口ポイントに少しのコードを挿入して、パフォーマンス データを記録します。ただし、このプロファイリング コードは、実際にプロファイリングしているアセンブリ (C# アプリケーションなど) に挿入されるだけで、参照されているアセンブリには挿入されません。

したがって、F# アセンブリを直接プロファイリングする必要があります。ライブラリであると仮定します。この場合、C# アプリケーションを開始プログラムとして指定する必要があります。そのため、プロファイラーは C# アプリを開始しますが、実際には F# ライブラリをインストルメントしてプロファイリングします。これを行うための設定については、MSDN の記事「方法: 開始するバイナリを指定する」を参照してください。

于 2012-09-07T01:14:57.780 に答える