dotMemory 2025.3 ヘルプ

API 参照

プロファイリング API

MemoryProfiler クラスのメソッド

項目

戻り値

説明

GetFeatures()

enum MemoryFeatures: uint

プロファイラで現在アクティブな機能のセットを返します。MemoryFeatures 値のビットフラグは、現在のプロファイラの状態を完全に記述しています。各ビットは、対応する機能が現在利用可能かどうかを示します。

  • Ready = 0x1 : プロファイラーが動作する準備ができているかどうかを示します。このフラグは、プロファイラーを現在のプロセスにアタッチする場合にのみチェックする必要があります。プロファイラーがコマンドを受け入れる準備ができると、フラグが設定されます。プロファイリング中にプロセスを開始すると、このフラグは常に設定されます。プロファイラーをプロセスからデタッチすると、フラグはクリアされます。

  • Detach = 0x2 : MemoryProfiler.Detach() が使用可能かどうかを示します。
    0 : プロファイラーは MemoryProfiler.Detach() を無視します。
    1 : MemoryProfiler.Detach() はプロファイラーをプロファイリングされたプロセスから切り離します。

  • CollectAllocations = 0x4 : CollectAllocations(bool enabled) を使用できるかどうかを示します。0 の場合、プロファイラーは CollectAllocations 呼び出しを無視します。1 の場合、CollectAllocations 呼び出しが有効になります。

GetSnapshot()

メモリスナップショットを収集し、ディスクに保存します。このメソッドは、完全なガベージコレクションを強制します。
アプリケーションがプロファイリングを無効にして実行されている場合でも、エラーはスローされません。

GetSnapshot(string name)

[Internal use only]
メモリスナップショットを収集し、ディスクに保存します。このメソッドは、完全なガベージコレクションを強制します。
アプリケーションがプロファイリングを無効にして実行されている場合でも、エラーはスローされません。
name は、メモリスナップショットの名前です。ファイル名ではありません。

ForceGc()

完全なガベージコレクションを強制します。
アプリケーションがプロファイリングを無効にして実行されている場合でも、エラーはスローされません。

CollectAllocations(bool enable)

メモリ割り当てデータの収集を有効 / 無効にします。プロファイラで割り当てデータの収集が無効になっている場合は何もしません。収集が有効かどうかを確認するには、MemoryProfiler.GetFeatures() を使用してください。
プロファイリングを無効にしてアプリケーションを実行しても、エラーは発生しません。

Detach()

プロファイリングされたプロセスからプロファイラーを切り離します。プロファイラーでデタッチが無効になっている場合は何もしません。デタッチが有効になっているかどうかを確認するには、MemoryProfiler.GetFeatures()MemoryFeatures.Detach フラグを使用します。プロファイリングを無効にしてアプリケーションを実行しても、エラーはスローされません。

セルフプロファイリング API

DotMemory クラスメソッド

項目

戻り値

説明

Init(Uri nugetUrl = null, NuGetApi nugetApi = NuGetApi.V3, string downloadTo = null)

プロファイラーを初期化します。このメソッドは、InitAsync() メソッドを呼び出す簡単な方法です。これは、プロファイラーの初期化に推奨される方法です。

InitAsync( CancellationToken cancellationToken, IProgress<double> progress = null, Uri nugetUrl = null, NuGetApi nugetApi = NuGetApi.V3, string downloadTo = null)

Task

(代わりに Init() を使用することをお勧めします)
プロファイラーを初期化します。初期化中に、API は実行アセンブリと同じフォルダーに dotMemory.exe コンソールプロファイラーが存在するかどうかを確認します。コンソールプロファイラーが見つからない場合、互換性のある JetBrains.dotMemory.Console(英語) NuGet パッケージを downloadTo フォルダーにダウンロードします。互換性のあるパッケージのバージョンは、NupkgVersion 定数によって設定されます。ダウンロードの進行状況は progress コールバック変数を使用して追跡でき、ダウンロードをキャンセルするには cancellationToken を使用します。

GetSnapshotOnce()

デフォルトのプロファイリング構成を使用してメモリのスナップショットを取得します。

GetSnapshotOnce(DotMemory.Config config)

String

指定されたプロファイリング config を使用してメモリスナップショットを取得します。保存されたスナップショット(dotMemory ワークスペース)へのパスを含む文字列を返します。

Attach()

デフォルトのプロファイリング構成を使用して、dotMemory を現在のプロセスに接続します。

Attach(DotMemory.Config config)

指定されたプロファイリング config を使用して、dotMemory を現在のプロセスに接続します。

Detach()

String

dotMemory を現在のプロセスから切り離します。保存されたスナップショット(dotMemory ワークスペース)へのパスを含む文字列を返します。

GetSnapshot(string name = null)

String

メモリのスナップショットを取得します。name はスナップショットの名前です。

DotMemory.Config クラスのメソッド

項目

戻り値

説明

UseLogLevelTrace()

DotMemory.Config

TRACE ログレベルを指定します。

UseLogLevelVerbose()

DotMemory.Config

VERBOSE ログレベルを指定します。

UseLogFile(string filePath)

DotMemory.Config

ログファイルへのパスを指定します。

SaveToFile(string filePath, bool overwrite = false)

DotMemory.Config

ワークスペースファイル(スナップショットストレージ)へのパスを指定します。

SaveToDir(string dirPath)

DotMemory.Config

ワークスペースディレクトリへのパスを指定します(ファイル名は自動生成されます)。SaveToDirSaveToFile は相互に排他的です。

OpenDotMemory()

DotMemory.Config

JetBrains dotMemory で生成されたワークスペースを開くかどうかを指定します。

WithCommandLineArgument(string argument)

DotMemory.Config

任意の引数をそのままコマンドラインに追加します(引用符などは使用しません)。

2025 年 8 月 07 日