2010-12-01 37 views
19

GDIオブジェクトのリークは、タスクマネージャまたはProcess Explorerから確認できます。 (まあ、あなたがリークが表示されていないが、オブジェクトが継続的に上がるカウントuasageかどうかを確認することができます。)Visual StudioデバッガからGDIリークを検出することはできますか?

などGDIViewなどの種類によってGDIオブジェクトを表示できるようにするツール、[A]、DeLeakerDPUSもありますまたはGDIDebug (sourecode)です。

[a]私はGDIViewが存在するGDIリークを特定して確認するための素晴らしいツールだと考えていますが、大きなアプリケーションで漏れたコードを見つけるのには本当に役立つものではありません。 (そのホームページは奇妙littlebitですが、私も(、ツールは非常にうまく動作し、行儀思われること、ここで注意します - :)

のMS Detours Libraryを使用していますleaktrap呼ばWinDBGのプラグインもあり

私は。 AQTimeのリソースプロファイラは、漏れのあるコールのスタックトレースを含むアプリケーションのGDI(およびその他の)リソースリークを検出することもできます。

今、実際の質問はですVC++デバッガ内から漏れているGDIオブジェクトを検出するには?セパレータを必要としないようにteツールとGDIリークは、通常のデバッグ中に捕捉され、別々にチェックする必要はありません。

+1

私はこの質問を+2回することができます。良い質問の上に、実際にたくさんの素晴らしい情報を提供しています。 – tenfour

答えて

6

GDIオブジェクトは個別に(notreally)チェックする必要はありませんが、それらはDeleakerを担当することができます。指示を丁寧に読んで、デモビデオをご覧ください:http://deleaker.com/

+0

なぜ「個々にチェックする必要はありませんか?アプリケーションがGDIオブジェクトを適切に解放しない場合は、もちろん、どのコードが漏洩しているかを知りたいでしょう...? –

+1

偉大なデバッガ私もそれを使用します)) –

+0

+5承認しています。 – MastAvalons

3

Intel Parallel Inspectorは、Visual Studioに統合され、GDIリークを検出できるメモリリークチェッカーです。

+0

Hmmm ...これは既存のビジュアルスタジオデバッガを拡張しているのですか、それともVisual Studioと統合するだけの別のツールですか? (AQTimeのように) –

+0

メモリリークチェッカーとデバッガは2つの異なるものです...はい、それはVisual Studioに統合されているだけです。 – ronag

0

Visual Studioには、アンマネージアプリケーション用の内蔵メモリプロファイラがありません。

これが確認されています。

+0

質問はメモリではなくGDIリソースについてです。 (VC++には、_native_コードでメモリリークを追跡するためのツールが組み込まれています) –

関連する問題