2010-12-15 16 views
1

VB.NET 3.5 Windowsアプリケーションのメモリリークを特定する最も良い方法は何ですか?SQL Server 2005を使用してVB.NET Windowsアプリケーションでメモリリークを確認

+0

いくつかの質問:なぜメモリリークがあると思いますか? COMオブジェクトを使用していますか?どのバージョンのVSを使用しますか? –

+0

VS 2008の理由は、アプリケーションのフォーム上では、ますます多くの人々がアクセスしようとすると、実際には遅くなる傾向があるからです。 – Amit

+0

おそらく人々はすべて1台のコンピュータに座っているわけではありません。それがWinformsアプリの場合、「より多くの人々」がそれぞれ自分のマシンで自分のメモリを使用しています。サーバーにメモリリークまたはスケーラビリティの問題があります。どのようにしてデータをあなたのアプリケーションに送りますか? – Bill

答えて

3

ウィンドウハンドルがリークするのは、Winformsアプリケーションの一般的な不具合です。削除されたコントロールでDispose()を呼び出すことなく、Controls.Clear()またはControls.Remove()を呼び出すことによって誘導されます。 Taskmgr.exeの[プロセス]タブでトラブルシューティングを行うことができます。ビュー+列を選択して、USERオブジェクト、GDIオブジェクト、およびハンドルをチェックします。アプリの実行中にこれらの列の値を観察します。 USERオブジェクトが着実に登るのを確認したら、必要に応じてコントロール上でDispose()を呼び出していません。登りGDIオブジェクトは、あなたが処分しないビットマップになる傾向があります。

これがパンしないと、メモリプロファイラが次のリソースになります。まともなものにお金を使う。