And*_*y M 3 .net c# memory-footprint
我在C#,Framework 4中有一个应用程序.基本上,这个应用程序主要响应事件并创建对象,释放它们,创建数据库连接并关闭它们.
现在,我们已经看到应用程序的进程有时以非常奇怪的方式增长.我们有两种不同的行为:
现在,为了向我们提供有关应用程序的更多信息,我想在我们的日志文件中添加应用程序进程的大小.是否可以通过本机框架?是否有可能在C#中知道对象的大小?
我也找到了应用程序NetMemoryProfiler4,但我更愿意使用嵌入式日志记录,如果可能的话!
您需要内存分析器来调试此类问题.例如:
另请参阅有关内存泄漏的其他问题的建议.
基本上,这归结为在内存中找到留在这里的对象,而不应该留在这里.它可以是事件处理程序,它持有对其类的引用或某些对象的集合,这些对象包含对其父项的引用,等等.找到根本原因后,您可能需要重新构建应用程序以摆脱不必要的引用.这可以像添加遗忘事件取消订阅一样简单,但在非平凡的情况下可能需要应用一些结构设计模式.这部分是非常具体的应用程序.
| 归档时间: |
|
| 查看次数: |
10116 次 |
| 最近记录: |