dotMemory 2020.3 ヘルプ

dotMemory の新機能

dotMemory 2020.3

  • .NET5 のサポート

    dotMemory では、Windows、macOS、Linux 上の .NET5 アプリケーションのプロファイルを作成できるようになりました。Linux および macOS でアプリケーションをプロファイリングするには、dotMemory コマンドラインプロファイラーを使用する必要があることに注意してください。

  • タイムラインインスペクション

    dotMemory は、タイムラインデータを使用して、タイムライングラフ上に自動インスペクションを提供します。現在、3 つのインスペクションが利用可能です。

    • ガベージコレクションの圧力が高い

    • Gen0 で固定されたオブジェクト

    • 高速ラージオブジェクトヒープの成長率

  • 固定されたオブジェクトヒープのサポート

    .NET 5 では、固定されたオブジェクト(ヒープ内で移動できないオブジェクト)を格納するための個別のヒープセグメントが導入され、ヒープの断片化が発生しました。dotMemory は、ヒープフラグメンテーションビューに固定されたオブジェクトヒープを表示します。また、dotMemory は、プロファイリング中にピン留めされたオブジェクトヒープに割り当てられたメモリをリアルタイムで表示するようになりました。

  • さまざまなタイムラインの改善

    • ガベージコレクションは、メインタイムラインの別のグラフに表示されます。

    • これで、タイムラインで特定の時間範囲を選択できます。選択した時間範囲について、GC 時間と割り当てられたメモリに関する情報が表示されます。

    • パフォーマンスの向上。

dotMemory 2020.2

dotMemory 2020.1

  • バグ修正と安定性の改善。

  • 内部データ形式も作り直したことに注意してください。つまり、dotMemory 2020.1 スナップショット形式は以前のバージョンと互換性がありません。同時に、今後のリリースでいくつかの新機能を導入できるようになります。

dotMemory 2019.3

  • 新しい自己プロファイリング API
    セルフプロファイリング API(アプリケーションが自分でプロファイリングセッションを初期化および開始できる API)は、より便利で使いやすくなっています。セルフプロファイリング API は、NuGet パッケージとして配布されます。

  • インスタンスの詳細を .json ファイルにエクスポートする機能(.bson、.hex、.txt も使用可能)。

  • オブジェクトインスタンスの仮想メモリアドレスを表示できるようになりました。

dotMemory 2019.2

  • dotMemory コンソールプロファイラーの改善。
    dotMemory 2019.2 は、リモートプロファイリングのサポートを停止します。適切な代替品を提供するために、dotMemory コンソールプロファイラーを大幅に改善しました。

    1. コンソールプロファイラーは、スタンドアロン dotMemory とほぼ同等です。コンソールツールを使用して、次のスナップショットを取得できます。

      • .NET Core アプリケーション

      • IIS Express でホストされるアプリケーション

      • Windows サービス

      • UWP アプリケーション

      • WCF サービスライブラリ

      • または、プロファイリングセッションの実行後に起動される .NET アプリケーション。

    2. これで、コンソールプロファイラーは、これが可能になった直後にメモリスナップショットを取得できます。この機能は、ベースラインスナップショットを取得して比較に使用する場合に役立ちます。

  • オンデマンドのスナップショット処理。
    データが完全に処理されるまで待たずに、スナップショットの操作を開始できます。

  • .NET Core 3.0 の完全サポート。
    dotMemory は、.NET Core 3.0 Preview 7 プロセスにアタッチできるようになりました。

  • 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

dotMemory 2018.2

  • 実行構成のプロファイリング。Visual Studio に統合された dotMemory は、より多くのプロファイリング機能を取得します。これで、スタートアッププロジェクトだけでなく、任意の「実行構成」(スタートアッププロジェクト、任意の実行可能ファイル、または任意の静的メソッド)をプロファイリングできます。

  • タイムライングラフの改善 :

    • タイムラインは、.NET コア、ASP.NET コア、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 2016.3

dotMemory 2016.2

dotMemory 2016.1

  • 閲覧履歴をナビゲートします。

dotMemory 10

関連ページ:

分析の概要

プロファイリングデータの収集が完了すると、dotMemory は分析の概要ページで新しいタブを開きます。分析の概要ページには、セッション中に収集されたデータに関する情報が表示されます。タイムライン、収集されたスナップショット、スナップショット比較領域、タイムライン :タイムライングラフは、プロファイ...

dotMemory コマンドラインプロファイラーを使用する

dotMemory コマンドラインツールの使用方法には複数のシナリオがあります。リモートサーバー上のアプリケーションのプロファイリング。例:スタンドアロン dotMemory をサーバーにインストールできない場合がこれに該当します。メモリのスナップショットを収集するプロセスを自動化します。例:プロフ...

インスタンスを分析する

特定のオブジェクトインスタンスを分析することは、調査の非常に重要なステップとなります。dotMemory は、インスタンス分析に特化したさまざまなビューを提供します。発信参照、キー保持パス、入ってくる参照、ルートへの最短経路、作成スタックトレース、ビューの選択 :インスタンスの特定のビューを選択する...

プロファイリングセッションの制御

プロファイリングセッションを実行すると、dotMemory は新しい解析タブを開き、プロファイリングされたアプリケーションを起動します。プロファイリングプロセスを制御するには、ページの上部にある次のボタンを使用します。強制 GC: アプリケーション内のフルガベージコレクションを強制します。プロセスを...

タイプ別にグループ化

タイプ別にグループ化ビューには、選択したオブジェクトセット内のオブジェクトのリストが表示されます。便宜上、すべてのオブジェクトはタイプによってグループ化されます。リストの各行は特定のタイプを表します。セットに存在するそのタイプのすべてのオブジェクトは、この行でカウントされます。タイプ別にグループ化ビ...

ドミネーターによるグループ

ドミネーターによるグループビューを使用すると、アプリでメモリがどのように保持されているかを理解できます。例:アプリのメモリの大部分が文字列によって消費されていることを知っています。それにもかかわらず、おそらく、最適化の対象は、これらの文字列自体ではなく、格納するデータ構造です。ドミネーターによるグル...