0

我有一些内存泄漏。我正在创建一个大对象图,然后取消引用它。

 var a = MyDomainModel.Create();
 a = null;
 //GC.Collect();
 Console.ReadLine();

那里没有不受管理的东西。JustTrace 和 ANTS(版本 6)都报告说对象由“System.Object[]”保持在适当位置。我假设有一个静态字段(列表/字典/哈希集)隐藏在内部使用 ArrayList 的某处。我打算做一些文本搜索(可能还有一些正则表达式)。这是一个包含 30 个项目的非常大的解决方案。有什么方法可以在“当前项目和解决方案中由当前项目直接/间接引用的所有项目”中进行 Visual Studio 文本搜索?底层物理文件夹的组织方式不能有意义地表示这些依赖关系。

4

2 回答 2

1

如果您使用的是 Windows 7,请创建一个并将您的项目位置添加到该库中。这应该将它们全部组织在一个地方,而无需实际移动或复制任何东西。然后从 Visual Studio 在库文件夹中进行文本搜索。

于 2012-08-14T07:54:19.610 回答
0

我认为问题已经解决了。如果其他人遇到类似情况,JustTrace 现在通过 Root Path 视图处理这种情况。这里有几个途径。

  1. 最大内存保持器:找到对象[] 保存在内存中的对象之一。选择对象,然后单击功能区中的根路径按钮。

  2. 按类型:选择类型,然后单击功能区中的实例按钮。选择其中一个实例,然后单击根路径。

  3. 按类型传入引用:选择类型,然后单击功能区中的实例按钮。选择其中一个实例,然后单击根路径。

根路径图显示持有实例的成员名称并标记静态字段/属性。有关示例,请参见下图。

带静态的根路径

于 2013-02-14T08:17:09.587 回答