C/C++ プログラムとそのプラグイン DLL に最適な無料のメモリ リーク ディテクタは何ですか?[閉まっている]

StackOverflow https://stackoverflow.com/questions/25730

質問

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

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

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

役に立ちましたか?

解決

私は個人的に使用しています 視覚的リークディテクタ, ただし、大きなブロックがリークすると、大幅な遅延が発生する可能性があります (リークしたブロック全体の内容が表示されます)。

他のヒント

(Visual Leak Detector が必要とするように) 再コンパイルしたくない場合は、お勧めします WinDbg, 、強力かつ高速です (ただし、期待するほど使いやすいわけではありません)。

一方、WinDbg をいじりたくない場合は、以下を見てください。 UMDH, 、これもマイクロソフトによって開発されており、学習が簡単です。

WinDbg、メモリ リーク、メモリ管理全般について詳しく知るには、次のリンクを参照してください。

私はこれまでに良い経験をしてきました 合理的な浄化. 。ヴァルグリンドについても良いことを聞きました

私の場合、漏れを見つけるためにディリーカーを使用しています。私は満足している。

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

試す Jochen Kalmbach のメモリ リーク検出器 コードプロジェクトで。最新バージョンへの URL は、私が最後に確認したときのコメントのどこかにありました。

私の友人の何人かが投稿しているように、C++ 用の無料のリーク検出ツールがたくさんあります。これらすべてにより、コードの実行時にオーバーヘッドが発生し、速度が約 20% 遅くなります。私は好きです Visual C++ 2008/2010/2012 用のビジュアル リーク ディテクタ 、ソースコードは次からダウンロードできます - ここにリンクの説明を入力してください .

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top