2009-08-10 18 views
1

我正在讀取.opml文件並解析它以生成我訂閱的每個rss訂閱源的文章列表,並因此添加到此.opml文件中。如何在ASP.NET中調試OutOfMemoryException?

有時,按下Visual Studio中(運行)遊玩時,我得到說明一個OutOfMemoryException錯誤(沒有例外)。這是應用程序甚至可以運行之前(但已編譯)。有問題的頁面(錯誤出現在輸出窗口和相關頁面中)是RSS Reader頁面,該頁面調用解析方法。

我該如何徹底解決這個錯誤?這個錯誤有時會出現,所以很難重現。有些信息指出我的開發環境問題,而不是網站或Visual Studio(這可能意味着另一組生活中的變量)。有這個異常有任何鏈接到潛在的內存泄漏(這是一個可能的警告)?內存分析會有幫助嗎(我有一個內存分析器)?

感謝

回答

0

如果我理解正確,Visual Studio的本身是OOM和報告,它無法啓動debugg過程。 devenv.exe進程是否使用大量內存?如果你使用的是VS 2005的64位操作系統,那麼你可以使用try the advice from this post來使devenv.exe使用4GB,也許會減輕你的問題。

如果不是VS本身就是OOM,你需要找到問題。罪魁禍首應該是在任務列表中顯示的虛擬機大小較大的罪魁禍首。在調試器下運行VS本身可能會有所幫助。此外,有時系統錯誤(如內核資源耗盡)會轉換爲OOM錯誤。

0

你是如何解析這個的?您可以通過多種方式耗盡內存,如在緊密循環中執行此操作:

for(....) 
{ 
    //Creates immutable strings faster than they can be garbage collected 
    nextXMLPart = nextXMLPart + " " + something; 
} 

該文件有多大?如果您正在將整個文件讀入內存中,那麼可以這麼做。

任何如何,我會開始尋找任何重複很多循環。如果這不起作用,請啓動任務人並在代碼中加入斷點。當內存使用開始出現時,請注意應用程序的位置。