Visual Studio でのメモリ分析ツールの選択 (C#、Visual Basic、C++、F#)

メモリ リークおよび非効率的なメモリ使用量を見つけるには、.NET オブジェクト割り当てツールや事後分析メモリ使用量ツールなど、パフォーマンス プロファイラーにあるデバッガー統合メモリ使用量診断ツールなどのツールを使用できます。

メモリ使用量ツールを使用すると、マネージド メモリ ヒープ、およびネイティブ メモリ ヒープの 1 つまたは複数の スナップショット を取得できます。 .NET アプリ、ASP.NET アプリ、C++ アプリ、または混在モード (.NET とネイティブ) アプリのスナップショットを収集できます。 メモリ使用率ツールは、開かれた状態の Visual Studio プロジェクトまたはインストール済みの Microsoft Store アプリで実行することができます。または、実行中のアプリまたはプロセスにアタッチすることもできます。 メモリ使用率ツールは、デバッグを使用して、または使用せずに実行することができます。 詳細については、「デバッガーを使用して、または使用せずにプロファイリング ツールを実行する」を参照してください。 デバッガーで、メモリ プロファイルをオンまたはオフにして、メモリ使用率のオブジェクトごとの内訳を確認することができます。 たとえばブレークポイントなどで、実行が一時停止したときに、メモリ使用率の結果を表示できます。

.NET 開発者は、.NET オブジェクト割り当てツールまたはメモリ使用量ツールのいずれかを選択できます。

  • .NET オブジェクト割り当てツールを使用すると、.NET コード内の割り当てパターンと異常を識別したり、ガベージ コレクションの一般的な問題を識別したりすることができます。 このツールは、事後分析ツールとしてのみ実行されます。 このツールは、ローカルまたはリモートのマシンで実行できます。
  • メモリ使用量ツールは、通常 .NET アプリでは一般的でないメモリ リークを識別するのに役立ちます。 メモリのチェック中に、コードのステップ実行など、デバッガーの機能を使用する必要がある場合は、デバッガー統合メモリ使用量ツールをお勧めします。

C++ 開発者は、デバッガーに統合された、またはデバッガーなしの、メモリ使用量ツールを使用できます。

Windows 7 以降ではデバッガーなしでプロファイル ツールを使用することができます。 Windows 8 以降では、デバッガーを使用してプロファイル ツールを実行する必要があります ( [診断ツール] ウィンドウ)。

ブログとビデオ

デバッグ中に CPU とメモリを分析する

Visual C++ ブログ: Visual C++ 2015 でのメモリ プロファイル