0

可能重复:
哪些策略和工具可用于查找 .NET 中的内存泄漏?

我有一个程序在运行一段时间后出现“内存不足”异常。这是一个相当复杂的程序,涉及很多异步的东西。与其从代码开始诊断问题,我认为如果我能分辨出哪些对象在没有被垃圾收集的内存中弄乱了,这可能会给我一个先机。

有没有办法做到这一点?

4

3 回答 3

0

如果您使用线程来异步您对线程的代码控制,例如同时运行特定线程,例如在完成此运行后仅同时运行 10 个线程,则运行下一个 10 个线程,并且如果您正在创建任何非托管对象,请显式处理它

于 2012-10-01T07:03:01.607 回答
0

即使您可以使用分析器来检查对象,但有时当您有很多异步内容时,您无法相应地更改您的逻辑。

通常,我们通过使用事件处理程序模式在不知不觉中造成内存泄漏。

我有一些关于此的帖子:http: //www.codeproject.com/Articles/123448/GC-Algorithm-and-Story-of-WeakReference

http://www.abhisheksur.com/2012/02/optimizing-inpc-objects-against-memory.html

它们不是针对您的问题的,但它可以帮助您。

于 2012-09-30T16:33:37.573 回答
0

我肯定会使用分析器,我用于内存分析的最好的之一是 SciTech 的内存分析器Scitech .NET Memory Profiler

于 2012-10-01T03:35:57.207 回答