dotMemory の新機能

dotMemoryの新機能

このページは、最近のdotMemoryおよびdotMemoryユニットリリースのアップデートをガイドしています: ハイライトには、コマンドラインプロファイリングツール、.NETコアアプリケーションのサポート、メモリダンプを分析します。

ダウンロード(英語)
実際の使用の5日間の無料トライアル
Profiling ReSharper run configurations

ReSharper実行コンフィギュレーションのプロファイリング2018.2

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

Improved timeline chart

改善されたタイムライン2018.2

タイムライングラフは改善されました:

  • タイムラインは、.NETコア、ASP.NETコア、IISホスト型Webアプリケーションなど、あらゆるタイプのアプリケーションで利用できるようになりました。
  • タイムラインは新しいGC以来LOHに割り当てられていますチャートを取得します。グラフは、ラージオブジェクトヒープへのインスタントメモリ割り当てを示し、大きなオブジェクトの過度の割り当てを検出するのに非常に役立ちます。

詳細は、 私のアプリはLOHにどのように割り当てられますか? dotMemory 2018.2で見つけてください!(英語)を参照してください。

Improved user interface

改善されたユーザーインターフェース2018.1

2018.1リリースでは、複数のマイナーなユーザーインターフェースが改善されています。最も重要な変更は、再加工された分析サブジェクトパネルです。分析パスをナビゲートする方がはるかに簡単です。

Improved object filtering

改良されたオブジェクト検索2017.3

メモリスナップショット内の特定のオブジェクトを検索する際に、より効率的な検索を実現できます。これで、特殊記号を使用して複雑なパターンを作成できます。例: !a を追加すると、すべての配列が結果から除外されます。 !a strString を返しますが、 String[]は返しません。

.NET Core Tests Support

.NETコアユニットテストのサポートUnit 3.0

dotMemoryユニットは.NETコアユニットテストを完全にサポートするようになりました。サポートは現在、Windowsでのみ利用可能です。

Importing memory dumps

メモリダンプのインポート2017.2

未処理のWindowsメモリダンプをインポートし(通常、Task ManagerまたはProcess Explorerを使用して取得します)、dotMemoryの機能を使用して解析します。

この機能は現在ベータの状態です:機能は100%ですが、Windowsと.NET フレームワークのすべての組み合わせでテストすることはできませんでした。これらの組み合わせの中には、dotMemoryが結果のスナップショットのすべての予想データを表示しないことがあります。

より良いUI2017.2

dotMemoryユーザーインターフェースは、分析対象とビューを簡単にナビゲートできるように若干再設計されました。この努力のさらなる利点は、ビュー領域の拡大です。

再編集ドミネーターの表示2017.2

Dominatorsビューは、アプリケーション内の主要なオブジェクトを簡単に明らかにするために修正されました。ドミネーターの木は、今や支配者のサンバーストチャートと組み合わされます。

Attach using drag and drop

ドラッグ&ドロップで実行中のプロフィールのプロフィール2017.1

ドラッグアンドドロップを使用して実行中のアプリケーションにプロファイラをアタッチできるようになりました。プロファイリングするアプリケーションウィンドウに特別なアイコンをドロップするだけです。

Command-line profiler

コマンドラインプロファイラ2017.1

dotMemory 2017.1には、コマンドラインからプロファイルできるdotMemory.exeツールが含まれています。このツールは、メモリスナップショットの収集プロセスを自動化する必要がある場合に非常に役立ちます。プロファイリングを継続的な統合ビルドの一部にしたい場合は、

ファイナライズ可能オブジェクトインスペクション2016.3

dotMemory 2016.3は、ファイナライズされたオブジェクトおよびファイナライズのためにキューに入れられたオブジェクトに対するアプリケーションのチェックを行います。新しいインスペクションは、そのようなオブジェクトをスナップショットの概要ページに表示します。

.NETコアアプリケーションをそのままの状態でプロファイルする2016.3

これで、コンピュータに.NET Coreツールがインストールされている場合、追加の労力を要せずに.NET Coreアプリケーションをプロファイルできます。

ワークフローはかなり簡単です。 ホームページで.NETコアアプリケーションを選択し、実行ファイルを指定して実行をクリックします。

異なるセッションのスナップショットを比較する2016.2

dotMemory 2016.2では、異なるワークスペースに格納されたメモリスナップショットを比較することができます。つまり、異なるプロファイリングセッションで収集されます。

これは、コードの特定の変更がアプリケーションのメモリ使用にどのように影響するかを調べるのに役立ちます。必要なのは、変更をコミットする前後に取られた2つのスナップショットだけです。

Improvements in dotMemory Unit 2.2

dotMemoryユニットの改良Unit 2.2, 2.3

dotMemoryユニットバージョン2.2および2.3では、一連の改良点があります。

  • DotMemoryUnitController メソッド TestStart() および TestFailed()で受け入れられた新しい引数など、すぐにサポートされていないユニットテストフレームワークで動作する洗練されたAPI。
  • テストの前に任意の数の AssertTraffic 属性を配置して、任意の条件セットでトラフィックをフィルタすることができます。
  • オブジェクト選択クエリでは、オープンジェネリック型がサポートされるようになりました。これは、ジェネリック型のすべての置換を取得する場合に便利です。
  • GetNewObjectsGetSurvivedObjects、および GetDeadObjects メソッドは、クエリをパラメータとして受け入れるオーバーロードを受け取ります。これにより、追加の GetObjects 呼び出しを回避し、アサーションを簡素化するのに役立ちます。
  • タイプ、インターフェース、および名前空間に関する Like および NotLike 照会を使用して、ワイルドカードでオブジェクトを選択できます。
  • DotMemoryUnit 属性で作業領域を保存するディレクトリを指定するときは、3つの定数を使用できます。定数は、角度角括弧: <User><LocalAppData><CommonAppData> で記述され、それぞれ %USERPROFILE%%APPDATA%、および %LOCALAPPDATA% ディレクトリを表します。
  • 主要クエリのパフォーマンス向上: Type.IsInterface.IsNamespace.Like
  • 子プロセスからのクエリを実行するテストが正しく処理されるようになりました。
dotMemoryをダウンロード(英語)
実際の使用の5日間の無料トライアル