dotMemory の新機能

このページでは、dotMemory の最新の更新と変更内容を説明します。

JetBrains Rider の Monitoring(監視)ツールウィンドウの改良 2025.2

Rider の Monitoring(監視)ツールウィンドウが改良され、 より視覚的かつ一元的な環境でプロファイリングを実施できるようになりました。 CPU 使用率、メモリ消費量、およびガベージコレクション(GC)のアクティビティを示す対話型のチャートが搭載され、アプリケーションの実行時の動作を一目で確認できるようになっています。

ツールウィンドウからパフォーマンスまたはメモリのプロファイリングセッションを開始し、組み込みの dotTrace および dotMemory プロファイラー(またはこれらのスタンドアロン版)でより詳しく解析することができます。 Windows 版の Monitoring(監視)ツールでは、パフォーマンスのボトルネック、UI のフリーズ、および GC の問題も自動的に検出されます。 検出された問題とチャートで選択された期間は、dotTrace でさらに詳しく調査できます。

詳細情報

Visual Studio でのスナップショット解析 2025.1

dotMemory が Microsoft Visual Studio に完全統合されました。 以前は Visual Studio 内からプロファイリングを開始することしかできませんでしたが、結果を解析するにはスタンドアロンの dotMemory アプリケーションに切り替える必要がありました。 このリリースにより、アプリケーションのプロファイリングとメモリスナップショットの解析の両方を IDE を離れることなく行えるようになりました。

ユーザーインターフェース 2024.3

2024.3 アップデートでは UX/UI 関連の多数の小さな改善を行い、全オペレーティングシステムの全 dotMemory バージョンで統一した外観と使い心地を提供するための最後の仕上げを行いました。

オブジェクトインスタンスの Creation Stack Trace(作成のスタックトレース)ビュー 2024.3

過去に UI を再設計した際に廃止された Creation Stack Trace(作成のスタックトレース)ビューが復活しました。 このビューにはオブジェクトが作成されるまでの関数のコールスタックが表示されるため、メモリに関する問題の根本的原因を発見しやすくなっています。

オブジェクトセットの Back Traces(バックトレース)ビュー 2024.3

オブジェクトセットの Back Traces(バックトレース)ビューも再実装しました。 このビューの呼び出しツリーは反転しており、特定のオブジェクトセットを作成した関数を始点とし、呼び出しチェーンを下から上にさかのぼる呼び出しチェーンが表示されます。

ドミネーターをつららチャート形式で可視化する機能 2024.3

ドミネーターツリーをつららチャート形式で表示し、ドミネーターと保持オブジェクトのメモリ消費量を確認できるようになりました。 この機能は Windows、Linux、および macOS のスタンドアロンバージョンの dotMemory と JetBrains Rider の dotMemory の両方で使用できます。

サンバーストチャート形式 Call Tree(呼び出しツリー)の全 OS 対応 2024.3

Call Tree(呼び出しツリー)をサンバーストチャート形式で可視化する機能はバージョン 2024.2 で導入されましたが、その機能を Windows、Linux、および macOS のスタンドアロンバージョンの dotMemory と JetBrains Rider の dotMemory の両方で使用できるようになりました。

インスタンス検索の改善 2024.2

Instances(インスタンス)ビューに新しいフィルターオプションを追加しました。

  • 文字列値による検索: フィルターフィールドに文字列値を入力すると、dotMemory が一致する文字列をハイライトするようになりました。 これにより、特定の文字列インスタンスをその内容を基に見つけやすくなりました。
  • 文字列値の正規表現サポート: 正規表現を使用して高度な検索を行えるようになりました。 たとえば、^nAsso.{5,}ID$nAssociatedObjectID.nAssociatedObjectID に一致します。
  • オブジェクトアドレスによる検索: オブジェクトインスタンスをそのメモリアドレスで検索することも可能です。 これは、特定のオブジェクトを直接追跡する場合に役立ちます。

これらの機能は、スタンドアロン版の dotMemory と JetBrains Rider の dotMemory で利用できます。

Linux および macOS 版 dotMemory の改善 2024.2

従来は Windows 版のみで提供されていた機能が Linux 版と macOS 版の dotMemory に導入されました。

  • 自動メモリインスペクション: Linux と macOS の dotMemory に Inspections(インスペクション)ビューが追加され、自動検出されたメモリの問題がそこに表示されるようになりました。
  • ワークスペース間でのスナップショットの比較: 異なるプロファイリングセッションのスナップショットを比較できるようになりました。

これらの機能は、スタンドアロン版の dotMemory と JetBrains Rider の dotMemory で利用できます。

サンバーストチャートによる Call Tree(呼び出しツリー)の可視化 2024.2

Call Tree(呼び出しツリー)を Sunburst(サンバースト)チャートとして表示し、メモリ割り当て量が最も多い関数をハイライトできるようになりました。 この機能は、スタンドアロン版の dotMemory(Linux および macOS)と JetBrains Rider の dotMemory(Windows、Linux、macOS)で使用できます。

MAUI アプリケーションのサポート

MAUI アプリケーションのサポート 2024.1

このリリースでは、MAUI フレームワークベースのアプリケーションをプロファイリングできるようになりました。

現在、dotMemory は Windows の .NET 7.0 以上をターゲットとする WinUI アプリケーションのプロファイリングをサポートしています。

このサポートは、dotMemory スタンドアロンと Rider および ReSharper に組み込まれた dotMemory に提供されます。

macOS のサポートの改善 2024.1

  • dotMemory のスタンドアロンバージョンで、実行可能ファイルの代わりにアプリケーションバンドル(.app)を指定できるようになりました。
  • Rider の dotMemory で macOS 実行構成をプロファイリングできます。 サポート対象のターゲットフレームワークは net7.0-macosnet8.0-macos です。
Linux および macOS 用の dotMemory の新しいビュー

Linux および macOS 用の dotMemory の新しいビュー 2024.1

Linux と macOS の dotMemory のスタンドアロンバージョンに以下が導入され、Windows 版に近づきました。

  • オブジェクトセット解析用の Similar Retention(同様の保持)ビュー
  • ドミネーターオブジェクト解析用のサンバーストダイアグラム

凍結オブジェクトヒープのサポート 2024.1

凍結オブジェクトヒープのイミュータブルオブジェクトに関する情報は、タイムライン、Heap Fragmentation(ヒープの断片化)ダイアグラム、および Generations(生成)ビューに表示されます。

Linux および macOS のスタンドアロン版 dotMemory 2023.3 ベータ

Linux および macOS オペレーティングシステムでスタンドアロン版の dotMemory を実行できるようになりました。

Linux でのプロセスダンプの解析 2023.3

Linux の dotMemory でプロセスダンプを通常のスナップショットとしてインポートし、解析できるようになりました。 Linux バージョンの dotMemory は Linux OS の実行プロセスから収集されるダンプのみをインポートできることに注意してください。

JetBrains Rider のスナップショット解析 2023.2

2023.2 以前において Rider 内で dotMemory の使用ができたのは、メモリの割り当て解析を目的とする場合だけでした。 2023.2 では dotMemory のスタンドアロンバージョンと同様に Rider 内でメモリスナップショットの収集と解析を実行できます。

  • スナップショット解析は Windows / Linux / macOS に対応しています。
  • Windows ではプロセスダンプのインポートと解析も可能です。
  • 自動的なスナップショットのインスペクションと作成のスタックトレースビューなど、一部の機能とビューは使用できません。