2011-07-28 68 views
2

我最近繼承了一個經典的ASP網站的維護,我從來沒有做過經典的ASP,所以請原諒我,如果我要求愚蠢的問題。經典ASP應用程序中的內存泄漏

我的合作開發者已經完成了每一頁,以確保sql連接已關閉,集合被清空,然後設置爲null。然而,這是一個很大的網站,顯然我們之間我們已經錯過了一些東西。

我有一個進程轉儲時它泄漏(採取調試診斷)。當我使用調試診斷執行內存分析時,它會通知我未檢測到LeakTrack.dll,因此無法執行泄漏分析。

我已經打開了使用windbg的轉儲,並發現一個堆比其他堆大得多,90%的內存在一個堆中。

invalid allocation size, possible heap corruption 

有沒有更好的方式來嘗試和跟蹤時,泄漏是來自:然而,當我嘗試跟蹤塊回到那個他們分配的調用堆棧我總是結了?或者您有關於如何創建更好的流程轉儲的任何提示,以便我可以檢查泄漏是從哪裏來的?

回答

1

這些泄漏持續超過一頁?所有頁面本地的東西都應該在頁面完成後清理並解除分配。不知道更多關於你的應用程序,我會建議看看更長的愛的對象。你是否在Session或Application中存儲了任何東西?

+0

不,應用程序中沒有存儲任何內容,很難使用會話。奇怪的是,您可以使用相同的參數進行100次相同的頁面訪問,並且沒有任何問題,然後看似隨意,您的內存使用量會大幅增加。難以複製,難以追蹤。 – ilivewithian

+0

聽起來不像一個ASP問題。 – Dee