dotMemory Unit 3.2 Help

比较快照

SnapshotDifference 类型允许您比较由 dotMemory.Check 方法创建的两个内存检查点(快照),并获取有关在快照之间创建了多少对象以及回收了多少对象的数据。 例如,这可以帮助您确定无效的内存使用或内存泄漏。 SnapshotDifference 类型的对象是 GetDifference 方法的结果,该方法属于 Memory 类型。

示例

例如,以下代码断言 foo.Bar() 创建了 10 个或更少的字符串:

// Create first memory checkpoint var memoryCheckPoint1 = dotMemory.Check(); foo.Bar(); // some user code dotMemory.Check(memory => { // Compare two checkpoints Assert.That(memory.GetDifference(memoryCheckPoint1).GetNewObjects (where => where.Type.Is<string>()).ObjectsCount, Is.LessThan(10)); });

SnapshotDifference 类

表示两个内存快照之间的差异。

SnapshotDifference 方法

名称

描述

GetNewObjects(Func<ObjectProperty, Query> query): ObjectSet

获取一组新对象——这些对象是在获取内存检查点的时间间隔内创建且未被回收的对象。

返回一个 ObjectSet 类型的实例。

如果指定了 query (可选),结果对象集将根据此查询中定义的条件进行过滤。

GetDeadObjects(Func<ObjectProperty, Query> query): ObjectSet

获取一组“死亡”对象——这些对象是在获取基础内存检查点之前创建,并在获取第二个检查点之前的时间间隔内被回收的对象。

返回一个 ObjectSet 类型的实例。

如果指定了 query (可选),结果对象集将根据此查询中定义的条件进行过滤。

GetSurvivedObjects(Origin from = Origin.NewSnapshot): ObjectSet

获取一组存活对象——这些对象是在获取基础内存检查点之前创建,并在获取第二个快照之前的时间间隔内未被回收的对象。 from 参数是 Origin 类型,指定了有关存活对象的数据来源——较新的或较旧的内存检查点。

返回一个 ObjectSet 类型的实例。

如果指定了 query (可选),结果对象集将根据此查询中定义的条件进行过滤。

Origin 枚举

表示用于比较的内存检查点(快照)。

描述

OldSnapshot

较旧(基础)的内存检查点。

NewSnapshot

较新的内存检查点。

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