私たちは、EF 6 および .Net Framework 4.6.1 で ASP.NET C# を使用する顧客向けのプロジェクトに取り組んでいます。少し遅い統合テストと単体テストがあるため、プロファイラーを実行することにしました。検索の結果、ANTS Performance Profiler に出会い、試してみることにしました。
.NET 実行可能ファイルを使用してプロファイリング セッションを作成し、プロファイリング モードを として構成しましたline-level & method-level timings - All methods inc. framework
。ただし、プロファイラーを実行すると、メソッドが表示されず、エラー メッセージが表示されます。
プロファイラーは、ソース コードでメソッドを見つけられませんでした。プロファイリングされたすべてのメソッドを表示するには、下の [表示オプション] で [すべてのメソッド] を選択します。
どうすればこれを解決できますか?
最初は VSTest を使用してこの問題を経験しましたが、MSTest に変更することにしました。それもうまくいきませんでした。
いくつかの調査を行い、いくつかのリンクを試しました ( 2 ) ( 3 ) が、どれも役に立ちませんでした。.pdb
考えられる問題は、ANTS Profiler がファイルを見つけられないことであることがわかりました。ただし、.pdb
ファイルが同じフォルダーに存在し、アセンブリの DLL と同じ名前であることを確認しました。また、Process Monitor を実行し、プロセスMSTest.exe
が正しい.pdb
ファイルを読み取っていることを確認しました。
起動オプションは次のとおりです。
- .NET 実行可能ファイルへのパス:
C:\Program Files (x86)\Microsoft Visual Studio\2017\TestAgent\Common7\IDE\MSTest.exe
- コマンドライン引数:
/testcontainer:Projeto.dll /test:Projeto.Features._001_UsuarioFeature._001_A_1_1* /testsettings:"C:\Users\Documents\projeto\TestSettings1.testsettings"
- 作業ディレクトリ:
C:\Users\Documents\projeto\bin\Debug
追加情報:
ANTS Performance Profiler バージョン 10.1.5.1275 を実行しています
オペレーティング システム: Windows 10 エンタープライズ