2008-08-08 10 views
-1

私の会社では、メモリリークを管理するためにRational Purify(Microsoft Visual Developer Studioへのプラグインとして)という厄介なバグのあるプログラムを使用しています。プログラムは、発生した後にメモリリークをクリックし、リークが発生した行にジャンプするように設計されています。Rational Purifyがメモリリークに失敗しました

残念ながら、Purifyは誤動作しており、Purifyはリークが発生した場所にジャンプしません。リークが発生したクラスとメソッドのみが記述されています。残念なことに、これは熊を狩るのを手助けするガイド彼が森を指し示し、そこにクマがいることを伝えてください。

は、Purifyの経験を持つ誰もが、私はこの問題を解決するか、しかし見て良いマニュアルがある可能性がありますどのように任意のアイデアを持っていますか?

答えて

2

一般的に2つのオプションがあります。ひとつは、DLLをPurifyで計測器から除外して、何度か役立ちます。次に、BoundsCheckerを取得します。これは、時間計測をはるかに遅くコンパイルしますが、ディテールのレベルは、より良い程度です。

我々はバグ/クラッシュが存在することがわかっているとき、私たちは、一般的に、チェックイン、正気チェック、のBoundsChecker上で精製してください。

にBoundsCheckerは、すべての残りの部分を除いた唯一の楽器ファイルA.cpp & B.cppのようないくつかの素晴らしい機能を持っています。

はどちらも64ビットオペレーティングシステムでこれら二つのアプリケーションの機能に注意してください、とのBoundsCheckerは、64ビットOSにはインストールされません。あなたがネイティブの64ビット開発に32ビットのバックポートで切り替えると、最も不満です!

1

デバッグビルドをお持ちですか? PDBはすべて有効になっていますか?実行可能ファイルにWindDbgを実行し、!lmiコマンドで表示されているものを確認してください。

コード全体が正しくインストゥルメントされていますか?

はまたfree Visual Leak DetectorやMicrosoftのツールLeakDiagのような何か他のものを使用することを検討してください。

1

私は約5年前にPurifyを使いました。それは本当に薄れていた。彼らは '次のリリース'のすべてのバグを修正することを約束し続けました。私たちは最後にそれをあきらめました。自分のQAツールを自社の製品に使用したかどうかは不思議ではありません。ああ、皮肉...

2

Purifyはスイスナイフのようなものです。あなたがそれを使う方法を知っていれば、最良の結果ではなく、結果を得るでしょう。そうしないと、Windows上で動作する別のプログラムなので、クラッシュします。

最後に、あなたは多くの忍耐、再構築、そして少しの運が必要です。

2

Purifyは、プロジェクトファイルが正しく動作するPurifyのためのすべての権利の設定を持っていることを確認しますScanVSSolutionForPurifyPlus.plというスクリプトが付属しています。あなたがそれを実行していない場合は、それを行ってください。

(私は個人的に大きなソリューションでScanVSSolutionForPurifyPlus.plを使用しましたが、それは魅力的でした.1つの注意点:.slnファイルの名前を指定するときは、完全なパス名を付ける必要があります)。

関連する問題