1

.NETアプリケーションにメモリリークがあります。この目的のためにCLRプロファイラーの使用を推奨する人はほとんどいないようです。私はこのアイデアに少し迷っています。私にとって、メモリリークを見つけるために、ツールは2つのメモリ状態を比較して、2つの状態間のオブジェクトの増加などの統計を取得する必要があります。したがって、私の考えでは、ツールが2つ(またはそれ以上)のメモリ状態を比較できない場合、メモリリークの検出には使用できません。明らかに、パフォーマンスカウンターのようなものは、メモリ使用量の傾向を把握できる少し異なる概念です。

だから私の質問は、誰かがメモリリークを検出するためにCLRプロファイラーをどのように正確に使用できるかを説明できるかどうかです。

4

1 に答える 1

0

それはあなたが持っているメモリリークの種類に依存します。

再現可能なものがありました。そこでは、作業が完了した後、特定の一連のイベントが常にクリーンなテーブルを残す必要があることを新たに示しましたが、そうではありませんでした。

したがって、テストを数千回実行する簡単なセットアップを行います。次に、ヒープグラフでそれらのオブジェクト(数が多い)と「ルート」オブジェクトを調べ、オブジェクトがまだ生きている理由の原因を調べました。それは私たちの問題を解決するのに役立ちました...

于 2011-05-31T21:48:35.403 に答える