GDハンドルを追跡して下げる最も良い方法は何ですか?
質問
GDIウィンドウハンドルを追跡して下げる最適な方法は何ですか。 。
解決
他のヒント
個人的に IARSN TaskInfo を使用して、プログラムが使用するハンドルの数を確認します(GDIを含む) 。アクティブなハンドルの数を減らすことに関しては、アプリケーションで何がハンドルを使用しているかを見ます。
次のようなもの(ただし、これらに限定されません):
- ペン
- ビットマップ
- コントロール(すべてがハンドルを使用するとは思わない)
ハンドルが多すぎるという特定の問題、またはハンドルリークがありますか?
ツールは必要ありません。 win32 APIを使用してGDIハンドルテーブルを読むだけです
しばらく前に、リソースリークを追跡するツールを作成しました。 googleコードでホストされています。ネイティブライブラリですが、.NETコードのリークを追跡するためにも使用できると思います。
役立つことを願っています。
GDIハンドルを追跡するには、 NirsoftのGDIView をお勧めします。これは、各タイプ(ペン、ブラシ、ビットマップ、フォント、DCなど)からのGDIハンドルのプロセス数を表示できるフリーウェアです。
エンドユーザーのマシンで現在の使用状況を確認する最も簡単な方法は、タスクマネージャーを使用して、「GDIハンドル」列を確認することです
GDIハンドルリークがあると思われる場合、リークシナリオを1回実行し、ガベージコレクションを強制し、タスクマネージャーを確認し、gcを使用してアクションを再度実行し、違いを確認します。見つかった場合は、.Netプロファイラー(SciTech製)を使用しました。これにより、どのオブジェクトがリークの原因であり、なぜそれが返されないのかを詳細に表示できます
所属していません StackOverflow