2011-01-25 14 views
14

Linuxでは、アプリケーションにメモリリークがあるかどうかを確認するためにvalgrindを使用しています。 Windowsで同等のものは何ですか? Visual Studio 2010でこれを行うことはできますか?Visual StudioでC++アプリケーションでメモリリークを検出する

+0

[Windows用のValgrindの代替品はありますか?](http://stackoverflow.com/questions/413477/is-there-a-good-valgrind-for-windows) – Patrick

答えて

20

Visual Studioは、メモリリークを検出するのに役立ちます。このlinkが役に立ちます。

+1

+1、しかし、このことはデバッグビルドでしか機能しないことは注目に値する。 – sharptooth

+1

あなたはソースコードを変更する必要があります。ソースコードを変更する必要があります。サードパーティのライブラリを使用している場合、ソースコードを変更することはできません。あなたは 'ThirdPartyLibFree(p3rdpartyhandle)'を呼んでいないことに起因するメモリリークを見つけられません。 – smerlin

+0

また、CRTライブラリは、メモリがリークしたとき(たとえば、ポインタが削除または上書きされたとき)には通知しません。 – Sascha

1

Visual Studioを使用してC++アプリケーションでメモリリークを検出するためにDevPartnerツールを使用できます。

+0

あなたの頭の中に穴を開けるのが楽しいなら、確かに。 –

+0

それはなぜでしょうか – ckv

7

Visual Leak Detector?それはinbuildではありませんが、私はそれが最も人気のあるものだと思います。

+0

新しいURLのように見えるhttp://vld.codeplex.com/ – rogerdpack

2

C++ Memory Validatorは、Visual Studio、Delphiなどのコンパイラで構築されたネイティブWindowsプログラムでメモリリークとハンドルリークを検出します。高速で大規模なワークロードを処理できます(一部のユーザーは、1回の実行で数十億の割り当てと割り当て解除を追跡します)。

開示:私はC++ Memory Validatorのデザイナーです。 SolidWorks R & D Ltd.で作業していたときに、他のツールがワークロードを処理できなかったため、このツールを構築しました。

関連する問題