web-dev-qa-db-ja.com

Visual Studioを使用したC ++アプリケーションでのメモリリークの検出

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

25
devnull

Visual Leak Detector ?組み込みではありませんが、最も人気があると思います。

8
Default

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

開示:私はC++ Memory Validatorの設計者です。 SolidWorks R&D Ltdで作業していたときに他のツールがワークロードを処理できなかったため、私たちはそれを構築しました。

2
Stephen Kellett

Dr。Memory は、初期化されていないメモリへのアクセス、アドレス指定できないメモリへのアクセス(割り当てられたヒープユニットおよびヒープアンダーフローとオーバーフローを含む)へのアクセス、解放されたメモリ、二重解放、メモリリーク、および(Windowsの場合)リークの処理、GDI AP​​I使用エラー、および予約されていないスレッドローカルストレージスロットへのアクセス。

Dr. Memoryは、Windows、Linux、Mac、またはIA-32、AMD64、およびAndroidハードウェア上のARMで実行されている、変更されていないアプリケーションバイナリで動作します。

Dr. Memoryは、 DynamoRIO 動的計装ツールプラットフォーム上に構築されています。

1
AntonK

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

0
ckv

Visual Studio 2015以降のバージョンにはネイティブメモリリーク診断ツールがあります。詳細については、これを確認してください: https://dzone.com/articles/native-memory-leak-diagnostics

0
Oleg Smirnov