dotMemory 2018.3ヘルプ

型別にグループ化

型別にグループ化ビューには、選択したオブジェクトセット内のオブジェクトのリストが表示されます。便宜上、すべてのオブジェクトはタイプによってグループ化されます。リストの各行は特定のタイプを表します。セットに存在するそのタイプのすべてのオブジェクトは、この行でカウントされます。型別にグループ化ビューを使用すると、あまりにも多くのメモリを消費するオブジェクトやメモリには存在しないオブジェクトを識別できます。

このリストは、次の列で構成されています。

名前

説明

型名。

オブジェクト数

同じ種類のオブジェクトの数。

バイト数

オブジェクトの全体的な浅いサイズ(バイト単位)。

保持される最小バイト数

排他的に保持されるすべてのオブジェクトの全体サイズ(バイト単位)。これは、特定のタイプのすべてのオブジェクトを削除した場合に解放されるバイト数を推定したものです。

サンプル

ex class list

リスト内のオブジェクトをグループ化する

便宜上、4つの異なる方法でリストをグループ化できます。

  • プレーンリスト
    オブジェクトはプレーンなリストに表示されます。これは、最高のメモリ使用量を持つオブジェクトを識別する最も簡単な方法です。

  • 名前空間別にグループ化
    オブジェクトは名前空間によってグループ化されます。このタイプのグループ化は、自分のクラスの問題の決定に集中したいときに非常に便利です。

  • 組立でグループ化する
    オブジェクトは、それらのアセンブリからグループ化されます。このタイプのグループ化を使用して、独自のクラスをシステムクラスから分離することもできます。

  • インターフェースでグループ化する
    オブジェクトは、実装するインターフェースによってグループ化されます。オブジェクトが複数のインターフェースを実装する場合は、実装された各インターフェースに表示されます。

オブジェクトのフィルタリング

分析に関心のないオブジェクトを除外することができます。

リストを絞り込む

  • フィルターフィールドに目的のタイプ名を入力し始めます。

    dotMemoryは、パターンと一致しないすべてのインスタンスを除外します。

次のヒントを参考にすれば、より効率的な検索を行うことができます。

  • キャメルハンプを使用してください。例えば。 fo は、 System.Drawing.Font 型と MS.Utility.FrugalObjectList 型のオブジェクトを返します。

  • ワイルドカードなどの特別な記号を使用してください。全リストは下の表に示されています。

シンボル

説明

サンプル

*

ワイルドカード

*
セット内のすべてのオブジェクト

sys.*.data
パターンと一致するすべての型と名前空間。例えば。 System.DataSystem.Windows.Controls.Datagrid、および System.Windows.Data.Binding

sys.*.data.
パターンに一致する名前空間のみ例えば。 System.Windows.Data.Binding しかしない System.Windows.Controls.Datagrid

配列

[]

配列のみを残す

str[]
それらの型または名前空間に str を含む配列。例えば。 String[]

[,
[,,
...
または
[,]
[,,]
...

指定されたまたはそれ以上の配列(角括弧が閉じていない場合)

str[,,
型または名前空間に str を含む次元3以上の配列。例えば。 String[,,] および String[,,,]

str[,,]
型または名前空間に str を含む3次元配列。例えば。 String[,,]

!a

結果から配列を除外する

!a str
型または名前空間に str を含むオブジェクト(配列を除く)。例えば。 String でもない String[]であってもよい。

汎用型引数

<

ジェネリック型引数を持つ型だけを残す

str<
型または名前空間に str を含み、汎用型引数を持つオブジェクトのみ。例えば。 FileStreamStorage<Char> でもない List<String>であってもよい。

<str
ジェネリック型引数に str を含むオブジェクトのみ。例えば。 List<String> でもない FileStreamStorage<Char>であってもよい。

<,
<,,
...
または
<,>
<,,>
...

指定された数のジェネリック型引数を持つオブジェクトのみを残す

fun<,,>
型または名前空間に fun を含み、3つのジェネリック型引数を持つオブジェクト。例えば。 Func<String, Object, Object>

fun<str,,task
型または名前空間に fun を含み、パターンに一致する3つの引数または汎用引数を持つオブジェクト。例えば。 Func<Stream, IAsyncResult, TaskResult, EventArgs>

!g

検索範囲からジェネリック型引数を除外する

!g str
str が型または名前空間に含まれるオブジェクト(汎用型の引数を持たないオブジェクト)。例えば。 String でもない List<String>であってもよい。

さらなる分析のためのオブジェクトの選択

型別にグループ化ビューでは、さらに分析するために次の項目を選択できます。

特定のタイプのオブジェクトを選択するには

  • 以下のいずれか 1 つを実行します:
    • 一覧の種類をダブルクリックします。

    • タイプを右クリックし、このオブジェクトセットを開くを選択します。

    その後、選択したオブジェクトセットが分析パスに追加され、他のオブジェクトセットビューを使用してオブジェクトを詳細に分析することができます。

分析されたオブジェクトセットによって排他的に保持されるオブジェクトを選択するには

  • open retained objects button このセットによって保持されている開いているオブジェクトボタンをクリックします。

    その後、排他的に保持されるオブジェクト件名が分析パスに追加され、目的のオブジェクトのリストが型別にグループ化ビューに表示されます。

最終更新日: 2018年12月18日

関連事項