Arn*_* F. 3 .net c# memory-management
我正在维护一个现有的应用程序,并且在某些情况下运行时遇到了一个错误(很容易重现),其中app失败并显示消息:
问题是:我需要先检查一下?这个消息什么时候发生?为什么?
在C#中存储在这个虚拟内存中的原因是什么?
Jer*_*Gee 11
听起来你有某种记忆或资源泄漏.是时候破解剖析器,看看消耗的资源或内存是什么.
好的个人资料包括
http://www.red-gate.com/products/dotnet-development/ants-performance-profiler
和
- 这将附加到您的运行过程,看看哪些是失控的.
通常,这种问题可能是由于实现IDisposable
没有通过调用处理的对象引起的Dispose()
.这些对象使用的内存和资源不受.NET垃圾收集器管理,因此(与常规.NET对象不同)系统不会自动对其进行整理.
分析器通常会告诉您这是否是一个问题.
例如,还有其他情况会发生这种情况
同样,分析器会告诉您问题可能存在的位置.