アプリケーションのプロファイル
プロファイルするアプリケーションの種類に関係なく、ワークフローは常に同じになります。
使用する プロファイリング構成を決定します。
プロファイリングセッションを実行する
ウィンドウのヘッダーで、プロファイリングする実行構成を選択します。
ウィジェットの実行メニューで プロファイル を選択し、プロファイリング構成を選択します。

プロファイリングが開始されると、Rider は内部にプロファイリングコントローラーを含む 分析 エディタードキュメントを開きます。
探している問題を再現するか、メモリ使用量を評価するだけの場合は、アプリケーションで必要な使用シナリオを実行します。
スナップショットを取得 ボタンを使用して、1 つ以上のメモリスナップショットを作成します (たとえば、アプリケーションの特定のアクティビティの前後)。 メモリ割り当てのみを分析したい場合は、スナップショットをまったく作成しなくても構いません。
条件でスナップショットを取得 ボタンを使用して、 特定の条件でスナップショットを取得するように設定することもできます。
データを収集したら、プロファイリングセッションを終了できます。 通常、これを行うには、プロファイルされたアプリケーションを閉じるか、
切り離す ボタンを使用してプロファイラーを切断します (
強制終了 はプロファイルされたアプリケーションとセッションを強制的に終了するため、緊急の場合にのみ使用してください)。dotMemory は、プロファイリングセッション中に収集されたデータをワークスペースに保存します。 これには、メモリ割り当てデータとメモリスナップショットが含まれます。
プロファイリング構成について
プロファイリングセッションを開始する前に、使用するプロファイリング構成を決定する必要があります。 通常、どちらかを決定します
プロファイリング構成では、どの割り当てデータを収集する必要があるか、子プロセスをプロファイリングする必要があるかどうかなど、プロファイリングセッションの設定を指定します。
プロファイリングターゲットは常に 現在選択されている 実行構成で指定された実行可能ファイル * です。
現在、次の実行構成タイプをプロファイルできます。
macOS (macOS のみ、
net7.0-macosおよびnet8.0-macosターゲットフレームワークのみ)
他の種類の実行構成を選択した場合は、ツールバーのプロファイリングコントロールが無効になります。
カスタムプロファイリング構成を作成する
メニューバーから 実行 | スイッチプロファイリング設定 | 実行構成の編集 を選択します。
開いた プロファイリング構成 ウィンドウで、
をクリックして新しいプロファイリング設定を追加します。
リストで、データ収集モード (メモリ (サンプリングされた割り当て) または メモリ (フル割り当て)) を選択します。 モードの詳細。
構成 名前 とその他のプロファイリングオプションを指定します。
- プロファイリングを手動で制御する
プロファイラーコントロールを介して手動でプロファイリングを制御できます。
- API によるプロファイリングの制御
プロファイルされたアプリケーションのコードから直接プロファイリングを制御できます。 API の使用について詳しくは、 dotMemory ドキュメントを参照してください。
- 子プロセスをプロファイリングする
選択すると、dotMemory はメインのアプリプロセスだけでなく、それが実行するプロセスもプロファイルします。
プロファイリング制御
| プロセスリストで選択したプロセスのメモリスナップショットを取得します。 スナップショットは収集されたスナップショット領域に追加されます。 スナップショットを取得してもプロファイリングプロセスは中断されないため、別のスナップショットを取得できます (たとえば、後で最初のスナップショットと比較できます)。 スナップショットのキャプチャーが完了したら、プロファイリング結果の分析に進むことができます。 |
| コンディションのスナップショットを取得 ウィンドウを開きます。 このウィンドウを使用すると、特定の条件がトリガーされたときにスナップショットを自動的に取得するように dotMemory を構成できます。 |
完全な割り当てデータ | オフ (デフォルト): プロファイラーは、割り当てられたオブジェクトのおおよそのサイズで、メモリ割り当て呼び出しのサンプルデータを収集します。 このモードはアプリケーションのパフォーマンスには影響しません。 サンプルデータの時間間隔は、タイムライングラフ上で緑の点線 オン: プロファイラーは、割り当てられたオブジェクトの正確なサイズと数を含む、メモリを割り当てる呼び出しに関する詳細なデータを収集します。 このモードでは、プロファイルされたアプリケーションの速度が大幅に低下します。 完全なデータがある時間間隔は、タイムライングラフ上で緑色の線 |
| アプリケーションで完全なガベージコレクションを強制します。 |
切り離す | プロファイラーをアプリケーションから切り離しますが、アプリケーションは実行し続けます。 切り離す 操作は、プロファイラーをすでに実行中のアプリに接続する場合にのみ使用できます。 |
| アプリケーションの現在選択されているプロセスを強制終了します。 強制終了 を使用する際はご注意ください。プロセスを強制終了すると、アプリが扱っているデータが失われる場合があります。 プロファイリング中のアプリは通常通り終了してください。 |
| アプリケーションのすべてのプロセスを強制終了します。 プロセスのリストと すべてを終了 ボタンは、複数のプロセスを実行しているアプリをプロファイルする場合にのみ表示されます。 |
条件に応じてスナップショットを取得する
特定の条件が発生したときだけスナップショットを取得したい場合があります。 最も一般的なのは、アプリケーションのメモリ消費量が急増したときにスナップショットを取得するケースです。 これを手動で(スナップショットを取得 ボタンを使って)行うのは難しいため、dotMemory で自動化できます。 特定の条件を設定すれば、その条件が発生した後にスナップショットが自動的に取得されます。 現在、以下の条件がサポートされています:
メモリ消費量が MB 単位で増加します。
メモリ消費量は % で増加します。
分単位の期間(スナップショットの定期的な取得)。
条件に応じてスナップショットの収集を有効にするには
プロファイリングセッションが開始されたら、の 条件でスナップショットを取得 ボタンをクリックします。
スナップショットを自動的に取得 セクションで必要な条件を選択し、それらに特定の値を指定します。
メモリ消費量が増加した場合 [X] MB – メモリ消費量*がベースラインを X MB 超えると、自動的にスナップショットを取得します。 最初のベースラインは、 条件でスナップショットを取得 ウィンドウで スタート ボタンをクリックした瞬間のメモリ消費量です。 条件が発生すると、dotMemory はスナップショットを取得し、その瞬間のメモリ消費量が新しいベースラインになります。
メモリ消費量が増加した場合 [X] % – メモリ消費量がベースラインを X パーセント超えると、自動的にスナップショットを取得します。 最初のベースラインは、 条件でスナップショットを取得 ウィンドウで スタート ボタンをクリックした瞬間のメモリ消費量です。 条件が発生すると、dotMemory はスナップショットを取得し、その瞬間のメモリ消費量が新しいベースラインになります。
メモリ消費量が超えた場合 [X] MB – 合計メモリ消費量(絶対値)が X MB を超えると、自動的にスナップショットを取得します。
指定間隔: [X] 分 – X 分ごとに自動的にスナップショットを取得します。
dotMemory で最大 X 個のスナップショットを取得したい場合は、 スナップショットの最大数を制限 を [X] チェックボックスを選択します。 このオプションは、ディスク容量が制限されている場合に便利です。
スタート をクリックします。
条件に応じてスナップショットの収集を無効にするには
「条件でスナップショットを取得 」ボタンをクリックします。
Stop をクリックします。