12

追踪仅在一个客户的测试/发布盒上发现的内存泄漏的最佳方法是什么?

4

6 回答 6

4

dotTrace3.1

(这个问题有点有趣,因为我正在跟踪我的机器上不存在的内存泄漏......)

于 2008-09-29T21:36:40.463 回答
4

尝试像ANTS Profiler这样的内存分析器。

于 2008-09-29T21:38:54.403 回答
0

如果用户始终遇到问题,请进行堆栈转储并以标准方式进行分析

于 2008-09-29T21:36:01.040 回答
0

这是一个选择:给他们一个不存在泄漏的盒子。

有时,它不是代码。

编辑:它可以是代码、数据或配置。

或者 .NET 框架、操作系统、驱动程序、IIS 或 COM(例如自动化 Excel)等等。

我的假设是内存泄漏是不可重现的,除非在客户端的盒子上(不允许开发人员访问以进行调试)。

于 2008-09-29T21:45:24.920 回答
0

它可以是代码、数据或配置。

既然你说代码 100% 没有错误,我会责怪配置。获取配置的副本(以及可选的一些数据)并尝试复制问题;您不会知道您已经找到并修复了它而无需复制。

最后,用内存分析器解决它。

于 2008-09-29T22:03:04.487 回答
0

PerfMon 可能会有所帮助(http://dotnetdebug.ne ​​t/2005/06/30/perfmon-your-debugging-buddy/ )。有几个计数器可以帮助缩小泄漏的资源范围,以及泄漏的速度等。

于 2008-10-17T01:56:18.027 回答