dotMemory 2020.1ヘルプ

dotMemoryの新機能

dotMemory 2020.1

  • Bug fixes and stability improvements.

  • Note that we also reworked internal data format. This means that dotMemory 2020.1 snapshot format is incompatible with earlier versions. At the same time, this will let us introduce some new features in the future releases.

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

最終更新日: 2020年4月16日

関連ページ:

APIによるセッションの制御

プロファイリングAPIには、プロファイリングプロセスを制御できる多数のクラスが用意されています。例:アプリケーションのコードから次のことができます。メモリのスナップショットを取得:,、メモリ割り当てデータの収集を有効または無効にする:,、ガベージコレクションを強制する:,、APIクラスの詳細について...

分析の概要

プロファイリングデータの収集が完了すると、dotMemoryは分析の概要ページで新しいタブを開きます。一度に同じデータの多くの分析を実行できます。現在の分析を新しいタブにコピーするには、dotMemoryウィンドウの右上隅にあるをクリックするか、Ctrl+Tの組み合わせを使用します。新しい分析を開始...

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

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

GCルートの分析

オブジェクトの保持パスは常にGCルートから始まります。ガベージコレクターから見ると、ルートは、収集してはならない、収集されないオブジェクトへの参照です。これにより、保持グラフを作成するための唯一の出発点がルートになります。「オブジェクトを保持しているのは誰か」の場合、ルートタイプを理解することは非常...

型別にグループ化

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

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

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