このページでは、最近の dotMemory および dotMemory ユニットリリースの更新について説明します。ハイライトには、コマンドラインプロファイリングツール、.NET アプリケーションのサポート、メモリダンプの分析などが含まれます。
30 日間の無料トライアルをご利用いただけます
これで、MAUI フレームワークに基づいてアプリケーションをプロファイルできるようになりました。
現在、dotMemory は、Windows 上の .NET 7.0+ をターゲットとする WinUI アプリケーションのプロファイリングをサポートしています。
このサポートは、dotMemory スタンドアロンおよび Rider と ReSharper に統合された dotMemory で利用できます。
.app
) を指定できるようになりました。net7.0-macos
、net8.0-macos
Linux 上の dotMemory および macOS のスタンドアロンバージョンは、Windows 版にさらに近づき、次の機能を提供します。
Linux および macOS オペレーティングシステム上で dotMemory のスタンドアロンバージョンを実行できるようになりました。
dotMemory では、Linux 上でプロセスダンプを通常のスナップショットとしてインポートして分析できるようになりました。dotMemory の Linux バージョンでは、Linux OS 上で実行されているプロセスから収集されたダンプのみをインポートできることに注意してください。
2023.2 より前は、メモリ割り当て分析には Rider の dotMemory のみを使用できました。2023.2 では、dotMemory のスタンドアロンバージョンと同様に、メモリスナップショットを収集し、Rider で分析できます。
これで、Windows の ARM64 CPU で dotMemory を使用できるようになりました。これは、スタンドアロンの dotMemory、Rider の dotMemory、Visual Studio の dotMemory、および dotMemory コマンドラインツールのすべてのバージョンに適用されます。
Linux の ARM32 CPU で dotMemory コマンドラインプロファイラーを実行できるようになりました。サポートされているフレームワークは、.NET Core 3.1 および .NET 5.0 – 7.0 です。
Windows に加えて、Linux の JetBrains Rider および macOS で dotMemory を使用できるようになりました。 実行ウィジェットと 実行 | プロファイラー構成の切り替えメニューで、 メモリ (サンプリングされた割り当て) と メモリ (フル割り当て) という 2 つの新しいプロファイリングモードを使用できます。これらの違いについては、dotMemory の ヘルプで詳しく知ることができます。
実行メニューから実行中のプロセスにプロファイラーをアタッチし、リアルタイムで タイムライングラフの展開を監視できます。間隔を選択して メモリの割り当てビューを開きます。これは dotMemory スタンドアロンと同じです。割り当てられたオブジェクトと特定の時間枠の割り当て呼び出しツリーを分析できます。
残念ながら、このバージョンではメモリスナップショットを収集することはまだできません。
コマンドラインプロファイラーに --saving-mode
引数が追加されました。これにより、dotMemory ワークスペースをいつ保存するかの条件を設定できます。
dotMemory が JetBrains Rider で利用できるようになりました。
dotMemory プラグインはスナップショットの収集を許可せず、2022.2 リリースの Windows でのみ機能します。
dotMemory コマンドラインツールは、Alpine バージョン 3.13 – 3.15 をサポートするようになりました。次の CPU とフレームワークがサポートされています。
プロファイリング API を使用してスナップショットを取得するときに、DotMemory.GetSnapshot("snapshot name");
を使用してスナップショット名を指定できるようになりました。
名前は dotMemory ホーム | スナップショットページに表示されます。
これで、特別なアイコンをアプリケーションウィンドウにドラッグするだけで、プロファイラーをすでに実行中のアプリケーションにアタッチできます。
dotMemory コマンドラインツールは、スナップショットを保存するときに進行状況を表示するようになりました。
同様の保持ビューは、データをはるかに高速に処理するようになりました。
dotMemory コマンドラインツールは、Apple シリコンプロセッサーを搭載したコンピューターで動作するようになりました。これで、dotMemory CLT を使用して、.NET 6 アプリケーション(ネイティブモード)および .NET 5 アプリケーション(Rosetta 2 モード)のプロファイルを作成できます。
ドミネーターツリー(オブジェクト保持グラフ)の背後にあるアルゴリズムを完全に作り直しました。オブジェクトセットに数億のオブジェクトが含まれている場合でも、特定のビューを開くのに dotMemory は数分しかかかりません。
dotMemory は、ETW イベントに基づいてメモリ割り当てに関するサンプルデータを取得できるようになりました。割り当てデータを収集する従来の(統計的)方法と比較すると、サンプリングの精度は低くなりますが、いくつかの利点があります。
この機能は Windows でのみ使用できることに注意してください。
これで、 サブシステムビューを使用して、メモリ割り振りデータを分析できます。サブシステムは、同じタイプ、名前空間、アセンブリに属するすべてのメソッドをグループ化します。結果のビューには、サブシステムによって作成されたオブジェクトと、各サブシステムのマージされた呼び出しツリーが表示されます。
このリリースでは、メモリ割り当ての分析方法を改善し続けています。2 つの新しいタブが メモリの割り当てビューに追加されました。
dotMemory ビューの上部にある検索バーがより柔軟になり、使いやすくなりました。
現在、次のことが可能です。
サービスメッセージを使用して、メモリ割り当てデータの収集を有効または無効にすることができるようになりました。
dotMemory でクリップボードにコピーされたスタックトレースが、ReSharper を使用して Rider/Visual Studio で自動的に開かれるようになりました。
dotMemory ホーム画面を完全に作り直しました。新しいプロファイリングセッションの構成と開始、スナップショットの操作、その他の基本的な操作がはるかに簡単になりました。
これで、gcore
を使用して Linux システムで収集された .NETCore アプリケーションのダンプを分析できます。
現在、dotMemory では、任意の時間間隔でメモリ割り当てを分析できます。タイムラインで間隔を選択するだけで、 メモリの割り当てビューに、この間隔で割り当てられたオブジェクトと、割り当てたスタックトレースが表示されます。
30 日間の無料トライアルをご利用いただけます