4

可能性の重複:
Memory leak tool for C++ under WindowsWindowsでメモリプロファイリングを行う方法は?

私は、Macのプロジェクトで作業するために使用し、XCodeのについて、私は本当に楽しんだ一つのことは、そのプロファイラーでした。私はそのプロファイラのさまざまな設定で自分のプログラムを実行するだけで多くのバグを発見しました。特に、私のプログラムのどの部分がメモリを消費しているのかがわかります。メモリが漏れていると私に表示され、いつ実行するのかがわかります。 GUIアプリケーションで作業していた場合、それらの割り当て/リーク/割り当て解除が発生したときに私が行っていたことのスクリーンショットが表示されます。

今日、私はVisual Studioを使用しているWindows/C++プロジェクトに取り組んでいますが、プロジェクトではあまりにも多くのメモリを消費し、メモリをリークする可能性があります。 XCodeを使用すると、私はそのプロファイラを起動し、何が起きているかをすぐに知ることができます。しかし、Visual Studioでは、そのようなことは見つけられません(少し面倒なパフォーマンスプロファイラがありますが、ここでCPU時間は私の懸念事項ではありません)。

したがって、メモリ消費量が多すぎるリークやコードの検索についてはどうでしょうか?

+2

@Kirill:この質問は、Visual Studio 2005を対象とした1年前の質問です。そのソフトウェアは現在、5年以上経過しています。私はVisual Studioのバージョンに関係なく汎用ツールを求めています。また、リークだけでなく、一般的なメモリ消費についても尋ねています。私はこれがあなたが推薦するものとは異なる質問になるべきだと思います。 – bastibe

答えて

4

はUMDH、Application Verifier、LeakDiagを参照してください、そして一般的にはDebugging Tools for Windows

これらはすべて無料です。

使用方法のガイドについては、Advanced Windows Debuggingを参照してください。

+0

UMDHは、Windows用デバッグツールの一部です。 –

+0

@Kirill、私は知っている - OPはメモリ関連のツールを探していたので、明示的に言及した。 –

+1

UMDHは私のベーコンを保存しました。 – mskfisher

1

Perfmon.exeツールを使用して起動します(「実行」プロンプトでperfmon.exeと入力します)。このツールを使用すると、時間の経過とともにアプリケーションをプロファイリングするための "Private bytes"、 "Handle count"、 "Thread count"などのカウンターを追加できます。

このツールを使用して抽出できる興味深い情報がたくさんあります.MSDNには、メモリリークに限定されているだけでなく、I/Oパフォーマンスやその他のもののベンチマークを行うことができるだけでなく、同じように。

カウンタタイプごとに、カウンタの目的を説明する簡単な説明を有効にすることができます(デフォルトはオフだと思います)。

関連する問題