2009-08-11 11 views
7

我下載了用於SO和also here其他地方提到的「Javascript內存泄漏檢測器」,但無法弄清楚如何使用它。顯然過去有另一篇博文可能涉及這個細節,但從上面的鏈接到它的鏈接被打破。如何使用IE7 Javascript內存泄漏檢測器?

我也嘗試過使用sIEve,除了我無法使「複製」功能正常工作外,它的確做得不錯。也就是說,我想複製各種統計數據,以便我可以脫機處理它們併爲我的經理準備一份報告。然而,正如我所說的那樣,複製數據存在一些問題,所以直到我向開發人員報告這些數據,然後他們才解決問題,我所能得到的只是非交互式屏幕截圖。

因此,我問SO社區他們如何使用上述工具,或者如果他們知道任何其他易於使用的測量IE7 Javascript內存泄漏的工具,那麼我可以在準備管理報告時使用它們。您可以從中導出原始數據。

在此先感謝

回答

6

這是我自己用篩子在約經驗。自從我問這個問題起24小時。它提供充足的,可視的,儘管非交互式數據,例如「只讀」。它確實提供了一種方法來「複製」它在各種「顯示」網格中顯示的數據,在我的情況下是「顯示在使用中」。然而,粘貼到文本文檔中時導致的數據量遠遠超出了網格中實際顯示的數據量,並且非常明顯。

讓我詳細說明我的用例。 sve並沒有表明「泄漏」本身,而是「孤兒」。要了解sIEve術語的含義,請參閱this page

有一次,我用篩子瀏覽器來訪問我所用「顯示在使用」的功能,以顯示與約10或12場網格我感興趣的頁面。列數據可以通過點擊標題來排序,因此我可以在「孤兒」列上排序,然後選擇指示「是」的行的範圍,然後單擊「複製」。

但是我問了這個問題首先因爲副本或者似乎沒有工作,或者墜毀sIEve。我繼續遇到的三分之一或一半的時候這些問題,但仍然是持久的,最終能夠將原始數據粘貼到文檔中。

正如我所提到的,原始數據量很大。所以我迄今爲止唯一開發的是一個用於計算「記錄」的正則表達式。每一個記錄與行開始如以下幾點:

http://localhost:8086/yms_web/yardmanager.do (1 reference) 

它將始終表示引用的數量,所以這是正則表達式我查找原始數據,這些行開發;請注意,我使用Cygwin此:

$ egrep '\([0-9]+ reference[s]?\)' before_trailer_adjust_clicks.txt 
http://localhost:8086/yms_web/yardmanager.do (5 references) 
http://localhost:8086/yms_web/yardmanager.do (1 reference) 
http://localhost:8086/yms_web/yardmanager.do (2 references) 

正如你可以看到正則表達式是妥善處理多個參考的可能性;我沒有看到它處理的情況下,有兩位數的引用,但我相信它應該。

無論如何,通過將上面的輸出傳遞給wc -l,您可以快速找出您有多少行,因此在我的情況下,通過從「孤立」等於「是」的網格中捕獲數據,這在連續的HTTP請求,我能看到的孤兒數量是如何增長,如:

$ egrep '\([0-9]+ reference[s]?\)' before_trailer_adjust_clicks.txt | wc -l 
3 

$ egrep '\([0-9]+ reference[s]?\)' after_trailer_adjust_click.txt | wc -l 
4 

$ egrep '\([0-9]+ reference[s]?\)' after_create_rftask_click.txt | wc -l 
4 

$ egrep '\([0-9]+ reference[s]?\)' after_create_rftask_close.txt | wc -l 
66 

$ egrep '\([0-9]+ reference[s]?\)' after_trailer_adjust_close.txt | wc -l 
163 

當然egrep命令可以被稱爲一個bash腳本內循環,而忽視了的興趣,但我的文件還沒有走過那麼遠。

順便說一下,這是一個ExtJS應用程序,我問他們的論壇,並得到了一些很好的意見,並能夠大幅減少孤兒數量!

希望這有助於對SO和不知道別人爲什麼這個問題已投上被關閉

4

Link是過時的,所以我修改了它去root of the blog,以及位於通過標籤的文章。

JavaScript Memory Leak Detector (v2)

+0

感謝。我很可能用我今天開發的一些cygwin /命令行命令來「回答」我自己的問題,以便通過sIEve數據進行解析。 – 2009-08-11 21:01:59

+0

酷!是的,請張貼他們。 – 2009-08-11 21:02:34

+0

我已經試過這個Javascript內存泄漏探測器工具,並已經總結出sIEve對我來說至少是更有用的工具。前者與sIEve不同,並不表示「孤兒」,這些孤兒似乎是增加記憶力的原因,因爲一旦我減輕了記憶力,記憶力並沒有像以前那樣增加,或者B)提供了下載和操作報告數據的能力,至少據我所見 – 2009-08-12 13:55:23