【发布时间】:2018-07-22 01:54:24
【问题描述】:
我在生产应用程序中存在内存泄漏。该应用程序将运行良好,然后突然内存将急剧下降。由于我无法控制的原因,我无法附加正常的内存分析器(如 dotMemory)。
是否有某种方法可以在我的应用程序代码中定期计算应用程序中当前存在的对象的数量?
【问题讨论】:
-
您是否考虑过进行内存转储并检查它?
-
只需获取 WinDbg,从进程中获取转储并检查它。准备好重新启动进程并在内存使用仍低于 2-3 GB 时尝试进行内存转储(否则所有工具都需要很长时间来分析它)。
-
如果 WinDbg 太陡而无法学习,请先尝试 DebugDiag。
-
感谢您的建议。不幸的是,出于同样的原因,我无法附加分析器,我无法获得内存转储(技术原因、安全性、正常运行时间要求和大量政治因素的结合)。我试过了……
标签: c# debugging memory-leaks garbage-collection profiling