2011-07-15 15 views
0

Silverlight 4プロジェクトで作業していますが、引き継ぐ前に明らかに大きなメモリリークがあります。私はVIsual Studio 2010に接続する2つの異なるプロファイラを試しましたが、データがスナップショット間で変化していないことに気付きました。それから、私のデータの大半、またはカスタムクラスが表示されていないことがわかりました。複数のプロジェクトを監視するメモリプロファイラを使用する

私が信じているのは、「スタートアッププロジェクト」のメモリ使用量を示しているだけですが、リークを含む重い持ち上げを実際に行っている他のサポートプロジェクトがたくさんあります。複数のプロジェクトのメモリ使用量を表示できるプロファイラはありますか?

これまでのところ、ANTSとmemprofiler.comのものを使用しています。私はWinDbgを試しましたが、動作させることができず、使用するためのすべての指示がかなり古いようです。

ご協力いただきまして誠にありがとうございます。

編集: 解決策は、最終的にすべてを表示するアプリケーションをホストしているWebサイトを指すようにANTSを適切に設定することでした。デバッグされたローカルバージョンは同じデータを表示しません。

編集2: ウェブ上の銀色のアプリへの接続は、それが得られるほど良いと思われます。

+0

の下に、これらのサイトをオフに作業になりますSilverlightでプロファイルする必要があります基本的にプロファイルするバイナリを選択しました。私には奇妙に見えますが、ANTSにはそうした可能性はありません。 – Tigran

答えて

0

私はANTSの助けを借りてプロジェクトに修正を加えることができました。彼らのサポートページRedGate Supportが助けてくれましたが、Silverlight Appのプロファイル方法についての推奨事項はないと思います。

現在私はシルバーライトのアプリをプロファイルするのは簡単ではないと聞いています。そして、ANTSから得た情報は、もっと手を使わないと予想できるものでした。場合、他の誰かが、私はメモリリークを取り除く続けたときに、私はあなたに何かをプロファイリングする前に、私はあなたを働いた任意のプロファイラで

Hunting Down Memory Leaks in Silverlight

MSDN Magazine

1

多くのプロセスにアタッチしようとすると、アプリケーションが複数のCOMプロファイラ(プロセスごとに1つ)と通信する必要があり、この複雑さが組み込まれていない可能性があります。プロファイラを同時に使用できます。

注:私は、Silverlightのアプリでメモリリークを見つけるためにClrProfiler4を使用しました(私たちは(再持った)は、Silverlightのツールキットのコンテキストメニューのメモリリークを発見)

それはのきれいではない、非常によく働きましたあなたは無料で何を期待していますか?

+0

SilverlightプログラムのWebバージョンでプロファイラを実行しようとしたとき、プログラムはロード・スクリーンに永遠に沈んで進捗しませんでした。しかし、私は、それが問題ではないことを確認するためにあなたが言及したコンテキストメニューのメモリリークについてさらに説明できることを望んでいました。私がANTSから得ているデータから、多くが漏れているようで、私はそれらの共通の根拠を見つけることができません。これまでのところ、私が持っている確かな事実は、アプリ内でナビゲートするたびにアプリが成長し、最も新しいインスタンスを得るのは弱い参照であるということです。 – StephenT

+0

私は漏れの主要な原因にパッチを当てたようです。それは私が識別できないパターンで起こっているように見えます(成長の結果起こるナビゲーションのすべての変更の代わりに、10回ごとの変更のように) – StephenT

+0

私たちが持っていたメモリリークは、マウスのメッセージハンドライベント、常に+ =応答なし - =(古典的な間違いだが、第三者コードを迷惑にする) –

関連する問題