51

.exeと.exeがロードする多くのプラグイン.dllモジュールがあります。(両方のソースがあります。)クロスプラットフォーム(ソースあり)ソリューションが理想的ですが、プラットフォームをWinXPとVisual Studio(私の場合は7.1 / 2003)に絞り込むことができます。

組み込みのVSリーク検出器は、new / mallocが呼び出された行のみを提供しますが、割り当てのラッパーがあるため、完全なシンボリックスタックトレースが最適です。

検出器は、.exeとそれに付随するプラグイン.dllモジュールの両方のリークを検出することもできます。

4

7 に答える 7

37

私は個人的にVisual Leak Detectorを使用していますが、大きなブロックがリークされたときに大きな遅延が発生する可能性があります (リークされたブロック全体の内容が表示されます)。

于 2008-08-25T10:03:23.780 に答える
18

(Visual Leak Detector が必要とするため) 再コンパイルしたくない場合は、強力で高速なWinDbgをお勧めします (ただし、使いやすいとは言えません)。

一方、WinDbg をいじりたくない場合は、Microsoft によって開発されたUMDHを参照してください。これは習得が容易です。

一般的な WinDbg、メモリ リーク、およびメモリ管理の詳細については、次のリンクを参照してください。

于 2009-08-10T07:57:41.780 に答える
8

私はRationalPurifyで良い経験をしました。Valgrindについてもいいことを聞いたことがあります

于 2008-08-25T07:54:46.383 に答える
3

私の場合、リークを見つけるためにDeleakerを使用します。私は満足している。

于 2011-11-18T10:03:02.400 に答える
2

無料で入手できるメモリ プロファイラーMemProを使用すると、2 つのスナップショットを比較して、すべての割り当てのスタック トレースを取得できます。

于 2012-04-15T15:17:10.510 に答える
1

私の友人の何人かが投稿したように、C++ 用の無料のリーク検出ツールがたくさんあります。これらはすべて、コードの実行時にオーバーヘッドを引き起こし、約 20% 遅くなります。私は、Visual C++ 2008/2010/2012 用の Visual Leak Detectorを好みます。ソース コードは、ここからダウンロードできます。ここにリンクの説明を入力してください

于 2014-02-20T11:58:21.607 に答える
1

Code Project でJochen Kalmbach の Memory Leak Detectorを試してください。最後に確認したとき、最新バージョンへの URL はコメントのどこかにありました。

于 2008-08-25T09:52:34.103 に答える