2011-09-07 80 views
1

可能重複:
C# memory leak?.NET框架問題?

很抱歉,如果這是不是這個張貼在正確的地方,看到它並非嚴格相關的代碼。

基本上,自從這項工作開始以來,一個以前完美運行的程序突然開始拋出內存異常。在檢查使用情況後,我發現內存使用量以每秒1mb的速度增長了!這發生在迭代集合的程序的一部分上,並且調用了許多不同的方法 - 因此即使在使用後,這些對象似乎仍留在內存中。

這個問題聽起來像什麼其他人?我一直在調試代碼,確保沒有打開任何東西,所有東西都被丟棄了,但無濟於事。我想知道它運行的計算機上的.NET框架是否已經損壞,並且垃圾收集沒有運行。

我計劃測試另一臺計算機上以後希望證明這個理論

+1

[請不要發表相同的問題兩次](http://stackoverflow.com/questions/7332283/c-memory-leak)。如果您有其他信息,您可以編輯您的原始問題。 – Justin

+0

您是否將任何事件處理程序分配給這些循環中的對象? –

+0

我會推薦使用探查器來找出問題所在,而不僅僅是在黑暗中拍攝。那裏有很多不錯的選擇。我試過RedGate的螞蟻剖析器,它似乎運行良好。 –

回答

1

垃圾回收在沒有留給他們引用堆僅清理的對象。儘管你已經確保你在處理所有東西,但在使用後明確地將這些對象的任何引用歸零也是一個想法。

也許你可以發佈麻煩的代碼?

1

看看dotTrace工具。 10天試用版可用。

使用它你可以跟蹤什麼讓對象引用應該從內存中刪除的對象。