dotMemoryの機能

dotMemoryはVisual Studioからの直接起動や、 単独ツールとしての起動が可能な .NETメモリプロファイラ です。

dotMemoryのホームビュー

さまざまな.NETアプリケーションへのサポート

dotMemoryをご使用いただくと、デスクトップアプリケーション、ASP.NET Webアプリケーション、 IIS、IIS Express、Windowsサービス、ユニバーサルWindowsプラットフォームアプリケーション、 任意の.NETプロセスなど、.NET Framework(2.0以降)に基づくアプリケーションをプロファイリングできます。 dotMemory 2016.3以降では、.NET Coreアプリケーションもプロファイリングできます。

プロセスダンプのサポート

生メモリダンプのサポート

dotMemoryをご使用いただくと、タスクマネージャまたはプロセスエクスプローラを 使用して取得した生のWindowsメモリダンプをインポートし、それらを通常のメモリスナップショットとして解析できます。 そうすることで、 自動インスペクション、保持図、およびその他の洗練されたdotMemoryの各機能をご利用いただけます。

サンバーストグラフ

サンバーストグラフ

アプリケーションでメモリがどのように保持されているかを理解することは、 メモリをうまく最適化するために不可欠です。 このビューでは、ドミネーター(他のオブジェクトを排他的にメモリに保持するオブジェクト)の階層が サンバーストチャートに表示されます。

チャートを少し見てみるだけで、どのオブジェクトがアプリケーションにとって非常に重要かを判断し、 最大の構造を 評価することができます。ドミネーターが保持するメモリが多いほど、中心角度は 大きくなります。

特定のドミネーターの保持パスを取得するには、対応する円弧をクリックします。 ドミネーターをダブルクリックするとチャートが拡大され、このドミネーターが保持しているオブジェクトの詳細を確認できます。

dotMemoryをVisual Studioから起動

Visual Studio統合

dotMemoryはVisual Studioと統合されているので、いつでもIDEからメモリプロファイリングセッションを 開始できます。

後で、dotMemoryオブジェクトセットの型から、 その型のVisual Studioでの宣言に移動できます。

スナップショットを自動的に取得

自動スナップショット

場合によって、特定の条件に該当する場合にのみスナップショットを撮りたいときがあるかと思います。 そのようなとき、 dotMemoryは自動的にスナップショットを取得することが可能です。 これは、アプリケーションのメモリ消費量が 大幅に増加した場合、またはスナップショットを手動で撮るのが難しい場合に特に役立ちます。 特定の条件を設定するだけで、それが満たされたときスナップショットが収集されます。

タイムラインビュー

リアルタイムデータ収集のタイムラインビュー

アプリケーションで消費されるメモリを監視し、スナップショットを取得してドロップすると、ワンクリックで比較できます。

データに対する複数ビュー

データに対する複数ビュー

複数のビューからヒープ内のオブジェクトを調べることができます。 オブジェクト同士の関係を知りたいですか? それらはどのようなオブジェクトを参照していて、どのようなフィールドを介しているでしょうか?  どのコールがこれらのオブジェクトを作成したのかを知りたいですか?  おまかせください!  dotMemoryではすべてのものが見られます。

メモリスナップショットの比較

メモリスナップショットの比較

2つのスナップショットを比較することは、メモリリークを引き起こしているオブジェクトを見つけるための主な方法です。 比較ビューを使用して、スナップショット間で作成されたオブジェクトの数と収集されたオブジェクトの数を調べることができます。

使いやすくて包括的なユーザインターフェース

使いやすくて包括的なUI

メモリプロファイリングはプロのためだけのものであると言われることがありますが、dotMemoryのユニークなユーザインターフェースは、その参入障壁を劇的に下げ、メモリプロファイリングを簡単にします。 メモリの問題の本当の原因が特定されるまで、上から下へ一連のオブジェクトから特定のインスタンスへと移動していくだけです。

メモリトラフィックの解析

メモリトラフィックの解析

過剰な割り当てやガベージコレクションは、メモリ管理に大きなオーバーヘッドをもたらしてしまう可能性があります。 トラフィックビューを使用して、アプリケーションで最も集中的に作成、または収集されるオブジェクトと、このメモリトラフィックを引き起こしている関数を把握できます。

強力な自動インスペクション

強力な自動インスペクション

dotMemoryは、スナップショットを自動的にスキャンして、文字列の重複、疎な配列、イベントハンドラのリーク、WPFバインディングなど、メモリの一般的な問題を検出します。 どこから始めればよいのか分からない場合、これらのインスペクションはスナップショット解析の出発点として最適です。

コマンドラインプロファイラ

コマンドラインプロファイラ

dotMemoryには、dotMemory.exeコマンドラインプロファイラが同梱されています。 このツールを使用してプロファイリングを自動化できます。プロファイリングを継続的インテグレーションビルドの一部にするか、 単にプロファイリングルーチンを高速化することができます(例えば、同じアプリケーションを 定期的にプロファイリングする必要があり、毎回dotMemoryユーザインターフェイスを起動したくない場合)。

dotMemoryをダウンロード

実質使用期間5日間の無料トライアル