跟踪仅在一个客户的包装盒上可见的内存泄漏(C#)的最佳方法
时间:2020-03-06 14:53:54 来源:igfitidea点击:
跟踪仅在一个客户的测试/发行箱上发现的内存泄漏的最佳方法是什么?
解决方案
如果用户始终遇到问题,请执行stackdump并以标准方式进行分析
dotTrace3.1
(这个问题有点好笑,因为我正在跟踪机器上不存在的内存泄漏...)
尝试使用像ANTS Profiler这样的内存分析器。
这里有一个选择:给他们一个没有泄漏的盒子。
有时,这不是代码。
编辑:
它是代码,数据或者配置。
或者.NET Framework,操作系统,驱动程序,IIS或者COM(例如,自动化Excel)等等。
我的假设是,除非在客户端的机器上(不允许开发人员访问以进行调试),否则该内存泄漏是不可复制的。
它可以是代码,数据或者配置。
既然我们说代码不是100%的时间都是错误的,所以我会归咎于配置。复制配置(以及可选的一些数据)并尝试复制问题。我们将不知道自己是否发现并修复了它,而没有复制。
最后,使用内存分析器解决它。
PerfMon可能会有所帮助(http://dotnetdebug.net/2005/06/30/perfmon-your-debugging-buddy/)。有几个计数器可以帮助缩小泄漏的资源以及泄漏的速率等。