助言がありますか?This SO post はVisual Leak Detectorについて語っていますが、他のツールを探しています。また、これをお勧めしないでください。
10 に答える
最近、 Visual Leak Detectorを使用しましたが、非常にうまく機能します。組み込むのは非常に簡単で (単に を含めるだけvld.h
です)、インストルメンテーションは必要ありません。出力を解析して目的に適したものにするために、いくつかのスクリプトを作成する必要があることがわかりました(まともなGUIが必要です)。新しい Web サイトに注意してください -- プロジェクトは Codeplex で積極的に維持されています -- Codeproject のリンクは非常に古いものです。
ある程度のお金があれば、Intel Parallel Inspector(http://software.intel.com/en-us/intel-parallel-inspector)を使用してください。
コードを変更する必要がなく、優れたレポートを提供します。
私は仕事でそれを行うための良いツールを探す必要がありました、そしてそれは私が見つけた(はるかに)最高のツールです。
Noah Roberts が提案したように、私もメモリ バリデーターが Visual Studio でのリークを検出するための最良のツールであると感じました。
浄化も効く。
https://sourceforge.net/projects/diagnostic/
http://diagnostic.sourceforge.net/index.html
私は非常に多くのメモリ リーク ディテクタを試したので、すべてを数えるのは困難です。それらのいくつかはクラッシュし、いくつかは無効な結果を生成し、いくつかは単に役に立たなかった. 最終的に、私は独自の漏れ検出器を作成しましたが、それに多大な労力を費やしたため、当分の間、非フリーにしました。マネージド / ネイティブ / 32 & 64 ビット アーキテクチャがサポートされています。
このツールをさらに開発したい場合は、お気軽にご連絡ください。
アプリケーション検証機能もあります。ハンドルなどのwin32オブジェクトを解放するのを忘れた場所などのリークを除いて、他の多くの問題を追跡できます...
MSDN リンクは次のとおりです。http://msdn.microsoft.com/en-us/library/ms220948(VS.80).aspx
少し前に同様の質問をしましたが、具体的には 2010 に関連しています: VS2010 プロファイラー/リーク検出
2010 を使用していない場合は、AQtime を検討してください。ほとんどの場合、それほどひどいものではありません。リークに関連するオブジェクトが見つからず、単に「crt メモリ」などと表示される場合があります。
私が最近試したもう 1 つの方法は、「Memory Validator」と呼ばれるものです。正確には優れたインターフェイスではありませんが、機能しているように見えます.2010でも機能します(他の種類のプロファイリングはありません。これは、そのような商用ツールに期待するものです).
質問する前に検索したときに、他の同様の質問で言及されたGlowCodeかもしれません。
DevPartner Studio 内の BoundsChecker ツールである Jacob には、VC++ 用の 2 種類のリーク検出器が含まれています。インストルメント化されていないバージョンでは、プロセスのシャットダウン時にリークが集計されます。コンパイル時にインストルメント化された検出器は、リークが発生した時点でリークを中断し、リークの時点での現在のコール スタックと、リークしているメモリが割り当てられた場所を示す割り当てスタック トレースの両方を示します。DPS および BoundsChecker 10.5 の 64 ビット バージョンは、2011 年 2 月 4 日に出荷され、Visual Studio 2010、2008、および 2005 の x64 アプリケーション サポートが含まれます。また、BoundsChecker 機能のみのライセンスを取得し、完全な DPS にアップグレードできる新しい価格モデルも用意されています。後で他のプロファイラーまたは静的分析機能が必要になった場合にのみ、このスイートを使用してください。営業担当者との交渉も忘れずに。定価を支払うことは、新車のステッカー価格を支払うようなものです。恥知らずなプラグ: 私は DevPartner チームで働いています。DPS 10.5 は、Compuware が NuMega ラボを閉鎖して以来、私のチームの技術能力の最大のリリースを表しています。10.5 が公開されたら、独自のアプリケーションと技術スタックについて評価してください。乾杯。Matt Schuetze、DevPartner プロダクト オーナー (はい、通常のスクラム チームの役割における PO を意味します)。
Dr.Memoryを試してみてください。適切なビジュアル スタジオ統合があり、ドキュメントは優れています。使い方も簡単。
VLD は、より深刻なプロジェクトでは信頼できません。
Intel には、Inspector という優れたツールがあります。
Visual Studio で C++ を使用して x64 バイナリのリークを見つけるための優れたツールを 3 日間探した結果、これが唯一の優れたオプションでした。