dotMemory Unit 3.2 Help

配置 dotMemory Unit

默认的 dotMemory Unit 配置允许“开箱即用”。 然而,在某些情况下,您可能希望重新定义特定选项,例如工作区文件的位置或自动保存工作区的总大小限制。 这是通过在程序集、测试类或测试方法之前放置 DotMemoryUnitAttribute 来完成的。

示例

[DotMemoryUnit(SavingStrategy = SavingStrategy.OnCheckFail, Directory = @"C:\tmp\Method")] [Test] public void TestMethod1() { ... }

DotMemoryUnitAttribute

DotMemoryUnitAttribute 属性

名称

类型

描述

CollectAllocations

bool

定义是否必须收集内存分配数据(内存流量和创建堆栈跟踪数据)。 默认情况下, false。 收集分配数据会显著增加性能分析的开销。 仅在您需要测量内存流量时使用它。

请注意, AssertTraffic 属性会自动启用在标记的方法中收集分配。 在这种情况下,您无需添加 [DotMemoryUnit(CollectAllocations = true)] 属性。

Directory

string

保存工作区文件的目录路径。 这可以是完整路径,也可以是相对于声明测试方法的程序集的路径。 请注意,为了简化操作,您可以使用一些特殊目录的占位符:

  • <User> - 当前用户文件夹,例如 C:\Users\[username]

  • <LocalAppData> - 本地应用程序数据文件夹,例如 C:\Users\[username]\AppData\Local

  • <CommonAppData> - 程序数据文件夹,例如 C:\ProgramData

DiskSpaceLimit

int

用于存储工作区的最大磁盘大小(以字节为单位)。 默认值为 200 MB。 在保存工作区之前,dotMemory Unit 会检查会话中所有先前保存的工作区的总大小。 如果尚未超出限制,则会保存工作区(即使这会超出限制)。

FailIfRunWithoutSupport

bool

如果 false ,在没有 dotMemory Unit 支持的情况下运行测试时,所有 dotMemory.Check 调用将被忽略。

如果 true ,在没有 dotMemory Unit 支持的情况下运行测试时,包含 dotMemory.Check 调用的测试将失败。

默认值为 true

SavingStrategy

SavingStrategy
enum
{OnAnyFail, OnCheckFail, Never}

定义自动保存工作区的条件:

  • OnAnyFail - 在任何测试失败时自动保存工作区。

  • OnCheckFail - 在 dotMemory.Check 调用失败时自动保存工作区。

  • Never - 不自动保存工作区。

WorkspaceNumberLimit

int

在测试失败时可以保存的最大工作区数量。 默认值为 5。

最后修改日期: 2025年 9月 28日