2009-04-25 52 views
5

在我修改了一個小ASP.NET/C#web應用程序的錯誤修復後,我遇到了OutOfMemoryException。調試outofmemoryexception

由於這是編譯時錯誤,因此沒有關於在哪裏查看的提示。我如何診斷這個異常?我認爲這正是內存分析技術發揮作用的地方。有小費嗎?

感謝

+2

你究竟是什麼意思,這是編譯時錯誤?編譯器是否拋出OutOfMemoryException? – asgerhallas 2009-04-25 20:30:16

回答

5

你應該把你的程序的內存轉儲出現OutOfMemoryException時間點並分析佔用這麼多內存的內容。

Tess Ferrandez在她的博客上有一個excellent How-To series

1

我希望你的意思是運行時錯誤,而不是編譯時錯誤。

通常情況下,如果列表不斷增長,它將保存在靜態字段或系統範圍的ASP.NET容器中。

您可以在探查運行應用程序,如:

Red gate ants profiler

1

上面很抱歉,但對我來說,已經發生3次以上 - 展鵬爆發要麼VS或整個窗口... 試試這個approach。 我爲你的問題調試的根本原因是弱調試,檢查log4net。 也很簡單 如果(DebuggingFlag ==真) 的Response.Write(「DebugMsg」)

可能是簡單的和荒謬聽起來很有用...