dotMemory の新機能
dotMemory 2024.3
オブジェクトインスタンスの作成スタックトレースビュー
UI の再設計時に削除されていた作成スタックトレースビューを再導入しました。このビューには、オブジェクトインスタンスの作成につながった関数呼び出しスタックが表示されるため、メモリの問題の根本原因を特定できます。
オブジェクトセットのバックトレースビュー
UI の再設計中に削除されていたオブジェクトセットのバックトレースビューを再導入しました。この反転された呼び出しツリーは、特定のオブジェクトセットを作成した関数から始まり、下から上に向かってチェーン呼び出しを示しています。
サンバーストチャートでコールツリーを視覚化する (すべての OS)
コールツリーをサンバーストチャートとして表示できるようになり、最も多くのメモリを割り当てる関数がハイライトされます。この機能は、Windows、Linux、macOS のスタンドアロンバージョンの dotMemory と JetBrains Rider の dotMemory の両方で利用できるようになりました。
つららチャートでドミネーターを視覚化する (すべての OS)
ドミネーターツリーは、ドミネーターと保持オブジェクトのメモリ消費量を示すつららグラフとして表示できるようになりました。この機能は、Windows、Linux、macOS で、dotMemory のスタンドアロンバージョンと JetBrains Rider の dotMemory の両方で使用できます。
ユーザーインターフェースの改善
現在、すべてのオペレーティングシステム上のすべての dotMemory バージョンで、統一された外観と操作性が実現されています。
マイナーな UI/UX の改善。
dotMemory 2024.2.5
ビューナビゲーションの改善
単一の要素 (たとえば、複数の
String
オブジェクト) になるオブジェクトセットを開くと、dotMemory は自動的により関連性の高いビューに切り替わります。例: 文字列のセットを開くと、次のようになります。以前: dotMemory はタイプビューで
String
オブジェクトセットを開き、1 つのString
項目のみを表示します。そのため、さらに分析するには、手動で別のビューに切り替える必要があります。現在: dotMemory は自動的に同様の保持ビューでセットを開きます。タイプビューは無効になっています。
dotMemory 2024.2
インスタンス検索の改善
インスタンス数ビューに新しいフィルタリングオプションが追加されました。
文字列値による検索: フィルターフィールドに任意の文字列値を入力すると、dotMemory は一致する文字列をハイライトします。これにより、コンテンツに基づいて特定の文字列インスタンスを簡単に見つけることができます。
文字列値の正規表現サポート: より高度な検索には正規表現を使用します。例:
^nAsso.{5,}ID$
はnAssociatedObjectID.nAssociatedObjectID
と一致します。オブジェクトアドレスによる検索: オブジェクトインスタンスをメモリアドレスで検索することもできます。これは、特定のオブジェクトを直接追跡する場合に便利です。
これらの機能は、JetBrains Rider の dotMemory および dotMemory のスタンドアロンバージョンで利用できます。
Linux および macOS 向けの dotMemory の改善
Linux および macOS の dotMemory バージョンでは、以前は Windows でのみ利用可能だった以下の機能が利用できます。
自動メモリインスペクション : Linux および macOS の dotMemory は、自動的に検出されたメモリの問題の数を表示するインスペクションビューを取得します。
ワークスペース間のスナップショットの比較 : これで、異なるプロファイリングセッションからのスナップショットを比較できるようになりました。
呼び出しツリー : dotMemory (Linux および macOS) および JetBrains Rider (Windows、Linux、macOS) の dotMemory のスタンドアロンバージョンに、呼び出しツリービューが追加されました。
これらの機能は、JetBrains Rider の dotMemory および dotMemory のスタンドアロンバージョンで利用できます。
サンバーストチャートでコールツリーを視覚化する
コールツリーをサンバーストチャートとして表示できるようになり、最も多くのメモリを割り当てる関数がハイライトされます。この機能は、dotMemory (Linux および macOS) および JetBrains Rider (Windows、Linux、macOS) の dotMemory のスタンドアロンバージョンで使用できます。
dotMemory 2024.1
現在、MAUI フレームワークに基づいてアプリケーションをプロファイリングできます。現在、dotMemory は Windows 上の .NET 7.0+ をターゲットとする WinUI アプリケーションのプロファイリングをサポートしています。このサポートは、dotMemory スタンドアロンと、Rider および ReSharper に統合された dotMemory で利用できます。
macOS のサポートの改善
現在、dotMemory のスタンドアロンバージョンでは、実行可能ファイルの代わりにアプリケーションバンドル (.app) を指定できるようになりました。
Rider の dotMemory は、macOS 実行構成をプロファイルできます。次のターゲットフレームワークがサポートされています: net7.0-macos、net8.0-macos。
Linux および macOS の dotMemory における新しいビュー
Linux および macOS 上の dotMemory のスタンドアロンバージョンは、Windows 版にさらに近づき、次の機能を提供します。
オブジェクトセットを分析するための同様の保持ビュー
ドミネーターオブジェクトを分析するためのサンバーストダイアグラム
凍結オブジェクトヒープのサポート
凍結オブジェクトヒープ内の不変オブジェクトに関する情報は、タイムライン、ヒープフラグメンテーションダイアグラム、および世代ビューに表示されます。
dotMemory 2023.3
Linux および macOS 上の dotMemory スタンドアロン
これで、dotMemory のスタンドアロンバージョンを Linux および macOS オペレーティングシステムで実行できるようになりました。
Linux 上のプロセスダンプを分析する
dotMemory では、プロセスダンプを通常のスナップショットとしてインポートして分析できます。この機能は、Linux でも利用できるようになりました。dotMemory の Linux バージョンでは、Linux で収集されたダンプのみをインポートできることに注意してください。
dotMemory 2023.2
JetBrains Rider でのスナップショット分析
2023.2 より前は、Rider の dotMemory はメモリ割り当て分析にのみ使用できました。2023.2 では、スタンドアロンバージョンの dotMemory と同様に、メモリスナップショットを収集し、Rider で分析できます。
スナップショット分析は、Windows、Linux、macOS で利用できます。
Windows では、プロセスダンプをインポートして分析することもできます。
自動スナップショットインスペクションや作成スタックトレースビューなど、一部の機能とビューは使用できません。
dotMemory 2023.1
さまざまな改善
パフォーマンスの改善とバグ修正。
dotMemory 2022.3
.NET 7 のサポート
dotMemory では、Windows、macOS、Linux 上の .NET 7 アプリケーションをプロファイリングできるようになりました。
次の問題に直面する可能性があることに注意してください。
アプリケーションが動的アセンブリを作成する場合、プロファイラーはこれらのアセンブリからのデータ (メソッド名とオブジェクトの種類) を表示しません。これらは Unresolved として表示されます。
プロファイラーをアタッチしてアプリケーションをプロファイリングすると、セッション中にアプリケーションがクラッシュする可能性があります。
どちらの問題も、今後の .NET 7 バグ修正リリースで修正される予定です。
改善された ARM CPU サポート
Linux arm32 – Linux の arm32 CPU で dotMemory コマンドラインプロファイラーを実行できるようになりました。サポートされているフレームワーク: .NET Core 3.1、.NET 5.0 - 7.0。
Windows arm64 – Windows の arm64 CPU で dotMemory を使用できるようになりました。これは、スタンドアロンの dotMemory、Rider の dotMemory、Visual Studio の dotMemory、および dotMemory コマンドラインツールのすべてのバージョンに適用されます。
Linux および macOS の JetBrains Rider の dotMemory
Windows に加えて、Linux および macOS 上の JetBrains Rider でも dotMemory が利用できるようになりました。
実行ウィジェットと実行 | プロファイラー構成の切り替えメニューで、メモリ (サンプリングされた割り当て) とメモリ (フル割り当て) という 2 つの新しいプロファイリングモードを使用できます。
実行メニューから実行中のプロセスにプロファイラーを接続します。
タイムライングラフの展開をリアルタイムで参照してください。間隔を選択し、メモリの割り当てビューを開きます。これは dotMemory スタンドアロンの同じビューと同等であり、割り当てられたオブジェクトと特定の時間枠の割り当てコールツリーを分析できます。
このバージョンでは、メモリスナップショットの収集は使用できないことに注意してください。
dotMemory コマンドラインプロファイラーの改善
コマンドラインプロファイラーは、dotMemory ワークスペースを保存する条件を設定できる
--saving-mode
引数を取得します。--saving-mode=always|has-snapshot|postponed
:always
– (デフォルト) プロファイリングセッションの終了後にワークスペースを保存しますhas-snapshot
– ワークスペースに少なくとも 1 つのスナップショットが含まれている場合にのみ、セッション終了時にワークスペースを保存しますpostpone
– stdin メッセージ## dotMemory["confirm-save"]
が受信された場合にのみ、セッション終了時にのみワークスペースを保存します
dotMemory 2022.2
JetBrains Rider の dotMemory
dotMemory が JetBrains Rider IDE で利用できるようになりました。
実行ウィジェットとメインメニューの実行 | プロファイラー構成の切り替えでメモリ (サンプリングされた割り当て) とメモリ (フル割り当て) という 2 つの新しいプロファイリングモードを使用できます。
実行メニューから実行中のプロセスにプロファイラーを接続します。
タイムライングラフの展開をリアルタイムで参照してください。間隔を選択し、メモリの割り当てビューを開きます。これは dotMemory スタンドアロンの同じビューと同等であり、割り当てられたオブジェクトと特定の時間枠の割り当て呼び出しツリーを分析できます。
Rider の dotMemory では、2022.2 バージョンでスナップショットを収集できません。
dotMemory 2022.1
musl ベースの Linux ディストリビューションのサポート
dotMemory コマンドラインツールは、Alpine バージョン 3.13 – 3.15 をサポートするようになりました。次の CPU とフレームワークがサポートされています。
x64:.NET Core 3.1、.NET 5.0 – 6.0。
arm64:.NET 5.0 – 6.0。
これで、特別なアイコンをアプリケーションウィンドウにドラッグするだけで、プロファイラーをすでに実行中のアプリケーションにアタッチできます。
プロファイリング API を使用してスナップショットを取得するときに、
DotMemory.GetSnapshot("snapshot name");
を使用してスナップショット名を指定できるようになりました。名前は dotMemory ホーム | スナップショットページに表示されます。同様の保持ビューは、データをはるかに高速に処理するようになりました。
dotMemory コマンドラインツールは、スナップショットを保存するときに進行状況を表示するようになりました。
プロファイルする多数の管理対象子プロセスを作成するルートプロセスをプロファイルするとします。ルートプロセス自体は、何らかの理由でプロファイリングから除外されます(たとえば、シェルスクリプト、ネイティブプロセス、単にプロセスフィルターを使用して除外する場合があります)。
前 : プロファイラーは、フィルターに一致するすべての子プロセスのプロファイリングを開始します。子プロセスが終了すると、プロファイラーは 1 秒間待機します。この時間内に新しい子プロセスが開始されない場合、プロファイラーはプロファイリングセッションを終了します。ルートプロセスが子プロセスをより長い遅延で開始する場合、これは問題になる可能性があります。
現在 : ルートプロセスの実行中、プロファイラーはプロファイリングセッションを停止しません。ルートプロセスが機能しなくなると、プロファイラーは 1 秒遅延アプローチに切り替わります。(編集)
dotMemory 2021.3
.NET6 のサポート
dotMemory では、Windows、macOS、Linux 上の .NET 6 アプリケーションをプロファイリングできるようになりました。Linux および macOS 上のアプリケーションをプロファイリングするには、dotMemory コマンドラインプロファイラーを使用する必要があることに注意してください。
AppleM1 のサポート
現在、dotMemory コマンドラインツールは、AppleM1 プロセッサーを搭載したコンピューターで動作します。このツールは、.NET 6 アプリケーション(ネイティブモード)および .NET 5 アプリケーション(Rosetta 2 モード)のプロファイリングをサポートします。
これで、dotMemory は、ETW イベントに基づいてメモリ割り当てに関するサンプルデータを取得できます。割り当てデータを収集する従来の(統計的)方法と比較すると、サンプリングは詳細ではありませんが、多くの利点があります。サンプリングされた割り当てデータは、パフォーマンスを低下させることなく収集されます。このデータの収集を明示的に有効にする必要はありません。常にオンになっています。すでに実行中のアプリケーションにプロファイラーを接続すると、サンプリングされた割り当てデータを収集することもできます。この機能は Windows でのみ使用できることに注意してください。
これで、サブシステムビューを使用してメモリ割り振りデータを分析できます。サブシステムは、同じタイプ、名前空間、アセンブリに属するすべてのメソッドをグループ化します。結果のビューには、サブシステムによって作成されたオブジェクトと、各サブシステムのマージされた呼び出しツリーが表示されます。
パフォーマンスの向上
ドミネーターツリー(オブジェクト保持グラフ)の背後にあるアルゴリズムを完全に作り直しました。オブジェクトセットに数億のオブジェクトが含まれている場合でも、dotMemory は数分で特定のビューを開きます。
dotMemory 2021.2
このリリースでは、メモリ割り当ての分析方法を引き続き改善しています。メモリの割り当てビューには、次の 2 つの追加ディメンションがあります。
メソッドを使用すると、メモリを割り当てたメソッドのプレーンリストを分析できます。
呼び出しツリーを使用すると、割り当て呼び出しツリーを分析できます。ツリーの各ノードには、呼び出されたメソッドだけでなく、呼び出しによって割り当てられたオブジェクトも表示されます。
ビューフィルター(dotMemory ビューの上にある検索バー)がより柔軟で明確になります。
フィルターには、検索範囲を絞り込むための追加オプションがあります。
#struct
(値型のみで検索)、#c
(型のみ)、#m
(メソッドのみ)、#ns
(名前空間のみ)。現在のコンテキストで可能なすべてのフィルターの組み込みヘルプを入手できます。
可能です:
オブジェクトデータをエクスポートするときにトラバース深度を指定します。
1 つ以上のタイプを選択し、これらのデータを 1 つのファイルにエクスポートします。
インスタンス数、発信参照、到達不能なオブジェクトビューからオブジェクトデータをエクスポートします。
さまざまな改善
コンソールプロファイラー : これで、サービスメッセージを使用したメモリ割り当てデータの収集を有効 / 無効にすることができます。
dotMemory でクリップボードにコピーされたスタックトレースが、ReSharper を使用して Rider/Visual Studio で自動的に開かれるようになりました。
さまざまなバグ修正。
dotMemory 2021.1
dotTrace のホーム画面を完全に作り直しました。これで、新しいプロファイリングセッションの構成と開始、ワークスペースの操作、その他の基本的な操作の実行がはるかに簡単になりました。
これで、
gcore
またはdotnet-dump
を使用して Linux システムで収集された .NETCore アプリケーションのダンプを分析できます。現在、dotMemory では、任意の時間間隔でメモリ割り当てを分析できます。タイムラインで間隔を選択するだけで、メモリの割り当てビューに、この間隔で割り当てられたオブジェクトと、割り当てたスタックトレースが表示されます。
dotMemory 2020.3
.NET5 のサポート
dotMemory では、Windows、macOS、Linux 上の .NET 5 アプリケーションをプロファイリングできるようになりました。Linux および macOS 上のアプリケーションをプロファイリングするには、dotMemory コマンドラインプロファイラーを使用する必要があることに注意してください。
dotMemory は、タイムラインデータを使用して、タイムライングラフ上に自動インスペクションを提供します。現在、3 つのインスペクションが利用可能です。
ガベージコレクションの圧力が高い
Gen0 で固定されたオブジェクト
高速ラージオブジェクトヒープの成長率
.NET 5 では、固定されたオブジェクト(ヒープ内で移動できないオブジェクト)を格納するための個別のヒープセグメントが導入され、ヒープの断片化が発生しました。dotMemory は、ヒープフラグメンテーションビューに固定されたオブジェクトヒープを表示します。また、dotMemory は、プロファイリング中にピン留めされたオブジェクトヒープに割り当てられたメモリをリアルタイムで表示するようになりました。
さまざまなタイムラインの改善
ガベージコレクションは、メインタイムラインの別のグラフに表示されます。
これで、タイムラインで特定の時間範囲を選択できます。選択した時間範囲について、GC 時間と割り当てられたメモリに関する情報が表示されます。
パフォーマンスの向上。
dotMemory 2020.2
dotMemory コマンドラインプロファイラーは Linux と macOS をサポートします。
Linux (GLIBC_2.23 以降を搭載したすべてのディストリビューション) 用の dotMemory コマンドラインプロファイラーを使用すると、ARM64 システム上のアプリケーションをプロファイリングできます。
固定されたオブジェクトを個別のオブジェクトセットとして開くことができます。
GC ルートから到達できないオブジェクトは、個別のオブジェクトセットとして開くことができます。
dotMemory 2020.1
バグ修正と安定性の改善。
内部データ形式も作り直したことに注意してください。つまり、dotMemory 2020.1 スナップショット形式は以前のバージョンと互換性がありません。同時に、今後のリリースでいくつかの新機能を導入できるようになります。
dotMemory 2019.3
新しい自己プロファイリング API。
セルフプロファイリング API(アプリケーションがプロファイリングセッションを自分で初期化して開始できるようにする API)は、より便利で使いやすくなります。セルフプロファイリング API は、NuGet パッケージとして配布されます。
オブジェクトインスタンスの仮想メモリアドレスを表示できるようになりました。
dotMemory 2019.2
dotMemory コンソールプロファイラーの改善。
dotMemory 2019.2 は、リモートプロファイリングのサポートを停止します。適切な代替品を提供するために、dotMemory コンソールプロファイラーを大幅に改善しました。
コンソールプロファイラーは、スタンドアロン dotMemory とほぼ同等です。コンソールツールを使用して、次のスナップショットを取得できます。
.NET Core アプリケーション
IIS Express でホストされるアプリケーション
Windows サービス
UWP アプリケーション
WCF サービスライブラリ
または、プロファイリングセッションの実行後に起動される .NET アプリケーション。
これで、コンソールプロファイラーは、これが可能になった直後にメモリスナップショットを取得できます。この機能は、ベースラインスナップショットを取得して比較に使用する場合に役立ちます。
オンデマンドスナップショット処理。
データが完全に処理されるまで待たずに、スナップショットの操作を開始できます。
.NET Core3.0 の完全サポート。
dotMemory は、.NET Core 3.0 Preview7 プロセスに接続できるようになりました。
Visual Studio の ASP.NET Core アプリケーションのサポートの改善:
さまざまなホスティングモデルが正しくサポートされています。
プロファイリングセッションを開始するときに、ブラウザー設定と SSL の有効化が考慮されます。
ASP.NET Core 3.0 Preview 7 がサポートされています。
その他の改善 ...
プロファイリング API は、プロファイルされたプロセスからデタッチする機能を取得します。
Silverlight および WebDev アプリケーションはサポートされなくなりました。
dotMemory 2019.1
.NET Core 3.0 アプリケーションのサポート。
新しいプロファイリング API。プロファイリング API を大幅に更新しました。
ステートマシンを削除しました。これで、コントローラーの状態に関係なく、あらゆる API メソッドを呼び出すことができます。
利用可能なメソッドの数を減らしたため、API の使用が簡単になりました。
NuGet パッケージとして API を配布します。
型宣言への改善されたナビゲーション。これで、「型宣言への移動」アクションにより、Visual Studio だけでなく JetBrains Rider にも移動できるようになりました。
dotMemory 2018.3
条件によるスナップショットの取得の改善。プロファイリングコントローラーは、スナップショットを取得するための新しい条件総メモリ使用量が X MB を超えた場合にスナップショットを取得するを取得します。
タイムライングラフの改善。特定の時点で正確なメモリデータを取得するには、グラフをクリックします。
IIS Express のプロファイリング設定の見直し。IIS Express でホストされている Web アプリケーションをプロファイルするデフォルトの方法は、dotMemory に
applicationhost.config
ファイルを提供することです。
dotMemory 2018.2
実行構成のプロファイリング。Visual Studio に統合された dotMemory は、より多くのプロファイリング機能を取得します。これで、スタートアッププロジェクトだけでなく、任意の「実行構成」(スタートアッププロジェクト、任意の実行可能ファイル、任意の静的メソッド)をプロファイリングできます。
タイムラインは、.NET Core、ASP.NET Core、IIS ホスト型 Web アプリケーションなど、あらゆるタイプのアプリケーションで利用できるようになりました。
タイムラインには新しい GC 以来 LOH に割り当てられていますチャートが含まれています。グラフは、ラージオブジェクトヒープへのインスタントメモリ割り当てを示し、大きなオブジェクトの過度の割り当てを検出するのに非常に役立ちます。
現在、ファイナライズ可能オブジェクトインスペクションは、dotMemory 経由でキャプチャーされたスナップショットだけでなく、RAW メモリダンプでも機能します。さらに、ファイナライズ可能オブジェクトはスナップショット / ダンプに存在するオブジェクトとして扱われるため、オープンしてより完全にインスペクションすることができます。
2 つの新しいルートタイプ: F- 到達可能キュー / ファイナライズキュー。
dotMemory コマンドラインツールを使用すると、取得したスナップショットの名前を設定できます。
dotMemory 2018.1
ユーザーインターフェースが改善されました。2018.1 リリースでは、複数のマイナーなユーザーインターフェースが改善されています。最も重要な変更は、再加工された分析サブジェクトパネルです。分析パスを移動する方がはるかに簡単です。
dotMemory 2017.3
改良された検索。これで、オブジェクトセットビューで特定のオブジェクトを検索するときに、特別な記号を使用して検索をより効率的にすることができます。
dotMemory 2017.2
メモリダンプをインポートします。これで、Windows の raw メモリダンプをインポートし(通常は、タスクマネージャーまたは Process Explorer のツールを使用して取得)、dotMemory のすべての機能を使用して分析できます。
改善された「ドミネーターによるグループ」ビュー。ドミネーターによるグループビューは、アプリケーションの重要なオブジェクトが何であるかを理解しやすくするために作り直されました。ドミネーターツリーは、ドミネーターのサンバーストチャートと結合されます。
ユーザーインターフェースが改善されました。dotMemory ユーザーインターフェースは、分析対象とビューを簡単に移動できるように若干再設計されました。この作業のさらなる利点は、ビュー領域の拡大です。
dotMemory 2017.1
コマンドラインプロファイラ。dotMemory 2017.1 には、コマンドラインからプロファイルできる dotMemory.exe ツールが含まれています。メモリスナップショットを集めるプロセスを自動化する必要があるとき、このツールは非常に役に立ちます。
dotMemory 2016.3
ファイナライズ可能オブジェクトインスペクション。dotMemory は、ファイナライズされたオブジェクトとファイナライズのためにキューに入れられたオブジェクトに関してアプリケーションをチェックします。
dotMemory 2016.2
異なるセッションのスナップショットを比較する。dotMemory を使用すると、異なるワークスペースに保存されているメモリスナップショット、つまり異なるプロファイリングセッションで収集されたスナップショットを比較できます。
dotMemory 2016.1
閲覧履歴を移動します。
dotMemory 10
dotMemory ホームビュー。
dotMemory は、dotTrace の最近のバージョンで利用可能なものと同様のホームビューを受け取ります。
関連ページ:

インスタンス数
インスタンス数ビューは、どのインスタンスがオブジェクトセットを構成しているかを示します。より詳細な分析のために特定のインスタンスを選択するための手段としてこのビューを使用してください。インスタンスのリストは、以下の列で構成されています。タイプ型名。アドレスインスタンスの仮想メモリアドレス。バイト数インスタンスのサイズ(バイト単位)。保持されたバイト数インスタンスによって排他的に保持されるオブジェクトの全体サイズ (バイト単位)。サンプル:オブジェクトのフィルター:分析に関係のないオブジェクト

インスペクションビュー
このビューでは、現在のスナップショットでの状況の概要が簡単に表示されます。最大サイズダイアグラムこのダイアグラムは、「アプリ内でメモリの大部分を占めているオブジェクトは何か」という質問に答えます。特定の種類のオブジェクトによって占有されているメモリの量を示します。ダイアグラム上の項目をクリックすると、それが分析対象となり、タイプビューに移動します。最大保持サイズダイアグラムこのダイアグラムは、「アプリケーションの主要なオブジェクトは何ですか ? 」という質問に答えます。このダイアグラムには、ドミ...

クロスワークスペースの比較ビュー
クロスワークスペース比較は、異なるワークスペースに保存されているスナップショット (つまり、異なるプロファイリングセッションで収集されたスナップショット) を比較することです。dotMemory は異なるプロファイリングセッションのオブジェクトの有効期間を一致させることができないため、クロスワークスペースの比較ビューには新しいオブジェクトまたは収集されたオブジェクトのデータは表示されません。既存のオブジェクト (ガベージコレクションを生き残ったオブジェクト) のみがタイプ別に一致します。クロスワ...

呼び出しツリー
呼び出しツリービューには、選択したオブジェクトセットの作成に関与するスタックトレースが表示されます。このビューを使用して、「どの関数がオブジェクトを作成したか」を問い、メモリを過剰に割り当てる関数を特定します。分析を簡素化するために、dotMemory では、コールツリーをつららまたはサンバーストチャートとして視覚化できます。呼び出しツリー:呼び出しツリーの各ノードは関数呼び出しを表します。関数名の横の数字は、呼び出しによって割り当てられたオブジェクトのサイズ、またはこれらのオブジェクトの数を...

プロファイル MAUI アプリケーション
MAUI アプリケーションは、.NET マルチプラットフォームアプリ UI (MAUI) フレームワークを使用して構築されたクロスプラットフォームソリューションであり、開発者が単一の共有コードベースを使用して Android、iOS、Windows、macOS 用のアプリケーションを作成できるように設計されています。現在、dotMemory は以下をサポートしています。Windows – .NET 7.0 以降をターゲットとする WinUI アプリケーション。dotMemory をスタンドアロン...

同様の保持
同様の保持ビューは、オブジェクトを保持パスの類似性によってグループ化します。各オブジェクトセットについて、ビューにはルートへの 2 つの最短パスが表示されます。dotMemory は、さまざまな最短パスの中から、互いに最も異なる 2 つのパスのみを選択することに注意してください。同様の保持ビューを使用すると、同じ型のオブジェクトが論理的にどこに属しているかを区別できます。例: 配列内の複数の変数は同じ保持パスを持ちますが、これは他の配列の変数とは異なります。同様の保持を使用して、オブジェクトがま...