重複の可能性:
優れた .NET プロファイラーとは?
優れた .NET CLR メモリ プロファイリング ツールを探しています。
私の主な要件は、IIS およびスタンドアロンの CLR アプリとうまく連携することです。理想的には、どのオブジェクトが割り当てられているか、どこに割り当てられているか、およびそれらのサイズを確認できますか?
特定のツールを使った経験があり、喜んでお勧めできる人はいますか?
重複の可能性:
優れた .NET プロファイラーとは?
優れた .NET CLR メモリ プロファイリング ツールを探しています。
私の主な要件は、IIS およびスタンドアロンの CLR アプリとうまく連携することです。理想的には、どのオブジェクトが割り当てられているか、どこに割り当てられているか、およびそれらのサイズを確認できますか?
特定のツールを使った経験があり、喜んでお勧めできる人はいますか?
私は現在、Scitech .NET Memory Profiler 3.1とANTS Memory Profiler 5.1の両方を評価しています。1、2 年前に JetBrains を試してみましたが、ANTS ほど良くなかったので、今回は気にしませんでした。Web サイトを読むと、メモリプロファイリングには他の 2 つほど適していないように見えます。
ANTS と Scitech メモリ プロファイラの両方には、もう一方にはない機能があるため、どちらが最適かは好みによって異なります。一般的に言えば、Scitech はより詳細な情報を提供しますが、ANTS は漏れているオブジェクトを特定するのに非常に優れています。全体として、可能性のあるリークを非常に迅速に特定できるANTSの方が好きです.
私の経験からの主な長所と短所は次のとおりです。
ANTS と Scitech .NET メモリ プロファイラーの共通機能
アリ
Scitech .NET メモリ プロファイラ
要約すると、ANTS は何がリークしているのかをより速く見つけるのに役立つと思いますが、Scitech はアプリケーション全体のメモリ パフォーマンスと個々のオブジェクトについてもう少し詳しく説明します。破棄されていない使い捨てオブジェクトのスタック トレースと追跡が ANTS に追加された場合、他のものを使用する必要はないと思います。
CLR プロファイラーがまだここで言及されていないのは奇妙です。それは無料で、うまく機能します。
Microsoft 自身のサイトから入手できる複数の古いバージョンに注意してください。2011 年 11 月現在、最新バージョンは次のようです:最新バージョン (別のリンク)
本当に絶望的な場合は、WinDbg を.Net フレームワークに同梱されている Son-of-Strike ライブラリ(SOS.DLL) と共に使用できます。
私自身、 JetBrains Profilerの大ファンです
私は 2 番目のANTS プロファイラーです。
必要なものをすべて表示するだけでなく、実行に最も時間がかかるものとメモリを消費するものを確認できる簡単なグラフを描画します。グラフをクリックすると、コード内の対応する行が表示されます。
そして、実行に時間がかかりすぎるコード行に小さなプログレス バーが表示されるのが好きです。
.Net Memory Profilerは、以前のプロジェクトで大いに役立ちました。無料ではありませんが、とても良いです。
.NET Memory Profiler は、メモリ リークを検出し、C#、VB.NET、またはその他の .NET 言語で記述されたプログラムのメモリ使用量を最適化するための強力なツールです。
誰もが利用可能なツールをリストしているので、.NET 用のプロファイラーの完全なリストを紹介したいと思います: http://sharptoolbox.com/categories/profilers-debuggers
ここで提案されているツールと他のすべてのツールがあり、それぞれが提案する内容の簡単な説明が付いています。
現在、ANTS Profilerを使用しています。多くのプロファイリング詳細オプションを備えた非常に優れたツールであり、スタンドアロン アプリケーション、開発サーバー、IIS とうまく連携します。
私は長年にわたってAqtimeを使用して大きな成功を収めてきました。ANTS などを試しましたが、アンマネージ コードで多くの開発も行っているため、Aqtime に戻りました。