分析应用程序
无论您要分析哪种类型的应用程序,工作流程始终相同:
决定使用哪种 分析配置.
运行分析会话
在窗口标题中,选择您要分析的运行配置。
在运行小部件菜单中,选择 分析方式 ,然后选择一个分析配置:

一旦分析开始,Rider 将打开一个包含分析控制器的 分析 编辑器文档。
重现您要查找的问题,或者如果您只是想评估内存使用情况,请在应用程序中执行所需的使用场景。
使用
获取快照 按钮拍摄一个或多个内存快照(例如,在应用程序中的特定活动之前和之后)。 如果您只想分析内存分配,则可以完全不拍摄快照。您还可以使用
按条件获取快照 按钮设置 按特定条件获取快照。
收集数据后,您可以结束分析会话。 通常,您可以通过关闭被分析的应用程序或通过
分离 按钮分离分析器来完成(
终止 会强制终止被分析的应用程序和会话,因此仅在紧急情况下使用)。dotMemory 将分析会话期间收集的数据保存到工作区。 这包括内存分配数据和内存快照。
关于分析配置
在开始性能分析会话之前,您必须决定使用哪种性能分析配置。 通常,您需要在以下两者之间进行选择
分析配置指定了分析会话的设置,例如需要收集哪些分配数据,是否需要分析子进程等。
分析目标始终是一个可执行文件*,它在 当前选择的 运行配置中指定。
目前,您可以分析以下运行配置类型:
macOS(仅适用于 macOS 且仅适用于
net7.0-macos和net8.0-macos目标框架)
如果您选择其他类型的运行配置,这将禁用工具栏上的分析控件。
创建自定义分析配置
从菜单栏中选择 运行 | 切换性能分析配置 | 编辑配置。
在打开的 分析配置 窗口中,点击
以添加新的性能分析配置。
在列表中,选择一种数据收集模式: 内存(采样分配) 或 内存(完整分配)。 了解更多关于这些模式的信息。
指定配置 名称 和其他性能分析选项:
- 手动控制分析
允许您通过分析器控件手动控制分析。
- 通过 API 控制分析
允许您直接从被分析应用程序的代码中控制分析。 在 dotMemory 文档中了解更多关于使用 API 的信息。
- 分析子进程
如果选中,dotMemory 将不仅分析主应用程序进程,还会分析其运行的进程。
分析控件
| 为在进程列表中选择的进程获取内存快照。 快照将添加到已收集的快照区域。 获取快照不会中断分析过程,允许您获取另一个快照(例如,可以稍后与第一个快照进行比较)。 完成快照捕获后,您可以继续分析分析结果。 |
| 打开 按条件获取快照 窗口。 使用此窗口,您可以配置 dotMemory 在特定条件触发时自动获取快照。 |
完整分配数据 | 关 (默认):分析器收集内存分配调用的采样数据,包括分配对象的近似大小。 此模式不会影响应用程序性能。 带有采样数据的时间间隔在时间线图上用虚线绿色线 开 :分析器收集分配内存调用的详细数据,包括分配对象的确切大小和数量。 此模式会显著降低被分析应用程序的速度。 带有完整数据的时间间隔在时间线图上用绿色线 |
| 强制应用程序进行完整的垃圾回收。 |
分离 | 将分析器从应用程序中分离,但保持应用程序运行。 仅当您将分析器附加到已运行的应用程序时, 分离 操作才可用。 |
| 终止当前选定的应用程序进程。 谨慎使用 终止 :无条件终止进程可能导致应用程序正在处理的数据丢失。 通常,您应正常关闭被分析的应用程序。 |
| 终止应用程序的所有进程。 仅当您分析运行多个进程的应用程序时,才会显示进程列表和 全部终止 按钮。 |
按条件获取快照
有时,您可能只对在某些条件发生时拍摄快照感兴趣。 最常见的情况是当应用程序的内存消耗显著增加时拍摄快照。 由于手动执行此操作(使用 获取快照 按钮)相当复杂,dotMemory 允许您自动化此过程。 您只需设置一个特定条件,快照将在条件发生后自动收集。 目前支持以下条件:
内存消耗增加(以 MB 为单位)。
内存消耗增加(以百分比为单位)。
时间间隔(以分钟为单位,定期拍摄快照)。
启用按条件收集快照
分析会话开始后,单击 按条件获取快照 按钮。
在 自动获取快照 部分中选择所需的条件并为其指定特定值:
如果内存消耗量增加 [X] MB – 当内存消耗*超过基线 X MB 时自动获取快照。 第一个基线是您在 按条件获取快照 窗口中单击 启动 按钮时的内存消耗。 条件发生后,dotMemory 获取快照,并且此时的内存消耗成为新的基线。
如果内存消耗量增加 [X] % – 当内存消耗超过基线 X 百分比时自动获取快照。 第一个基线是您在 按条件获取快照 窗口中单击 启动 按钮时的内存消耗。 条件发生后,dotMemory 获取快照,并且此时的内存消耗成为新的基线。
如果内存消耗量超过 [X] MB – 当总内存消耗(绝对值)超过 X MB 时自动获取快照。
每 [X] 分钟 – 每隔 X 分钟自动获取快照。
如果您希望 dotMemory 获取的快照不超过 X 个,请选中 将快照的最大数量限制为 [X] 复选框。 如果您的磁盘空间有限,此选项可能会很有用。
点击 启动。
禁用按条件收集快照
Click the 按条件获取快照 button in .
点击 停止。