dotMemory 2025.2 Help

API 参考

性能分析 API

MemoryProfiler 类方法

条目

返回值

描述

GetFeatures()

enum MemoryFeatures: uint

返回当前在性能分析器中激活的一组功能: MemoryFeatures 值中的位标志完全描述了当前性能分析器的状态。 每个位表示相应的功能当前是否可用:

  • Ready = 0x1 :指示性能分析器是否已准备好工作。 仅在将性能分析器附加到当前进程时需要检查此标志:一旦性能分析器准备好接受您的命令,该标志将被设置。 如果您在性能分析下启动一个进程,此标志始终被设置。 在您将性能分析器从进程中分离后,该标志将被清除。

  • Detach = 0x2 :指示是否可以使用 MemoryProfiler.Detach()
    0 :性能分析器将忽略 MemoryProfiler.Detach()
    1MemoryProfiler.Detach() 将从被分析的进程中分离性能分析器。

  • CollectAllocations = 0x4 :指示是否可以使用 CollectAllocations(bool enabled)。 如果 0 ,性能分析器将忽略 CollectAllocations 调用。 如果 1CollectAllocations 调用将生效。

GetSnapshot()

收集内存快照并将其保存到磁盘。 此方法强制执行完整的垃圾回收。
即使应用程序在禁用性能分析的情况下运行,也不会抛出任何错误。

GetSnapshot(string name)

[仅供内部使用]
收集内存快照并将其保存到磁盘。 此方法强制执行完整的垃圾回收。
即使应用程序在禁用性能分析的情况下运行,也不会抛出任何错误。
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年 9月 27日