我写了10年的C ++。我遇到了内存问题,但是可以通过合理的努力解决它们。
在过去的几年中,我一直在编写C#。我发现我仍然遇到很多内存问题。由于不确定性,它们很难诊断和修复,并且由于C#的理念是,当您一定要这样做时,您不必担心这些事情。
我发现的一个特殊问题是,我必须明确地处置和清理代码中的所有内容。如果我不这样做,那么内存探查器并没有真正的帮助,因为有太多杂乱无章的东西浮在水面,您无法在他们试图向您展示的所有数据中找到泄漏。我想知道我是否有错误的主意,或者我拥有的工具不是最好的。
什么样的策略和工具对于解决.NET中的内存泄漏有用?
当我怀疑内存泄漏时,我使用Scitech的MemProfiler。
到目前为止,我发现它非常可靠且功能强大。它至少一次拯救了我的培根。
GC在.NET IMO中可以很好地工作,但是就像其他任何语言或平台一样,如果编写不好的代码,也会发生不好的事情。