Как использовать детекторы утечки памяти IE7 Javascript? - PullRequest
7 голосов
/ 11 августа 2009

Я скачал «Детектор утечки памяти Javascript» для IE, упомянутый в другом месте на SO и также здесь , но не могу понять, как его использовать. Очевидно, раньше был другой пост в блоге, который, возможно, был посвящен этой детали, но ссылка на него из приведенной выше ссылки не работает.

Я также пытался использовать sIEve, и он выполняет достаточно приличную работу, за исключением того, что я не могу заставить функцию «копирования» работать должным образом. То есть я хотел бы скопировать различные статистические данные, чтобы я мог работать с ними в автономном режиме и подготовить отчет для своего менеджера. Однако, как я уже сказал, есть проблемы с копированием данных, и так до тех пор, пока я не сообщу об этом разработчикам, и если они затем решат проблему, все, что я могу получить, это неинтерактивные снимки экрана.

Поэтому я спрашиваю SO-сообщество о том, как они используют вышеупомянутые инструменты или знают ли они какие-либо другие простые в использовании инструменты для измерения утечек памяти JavaScript в IE7, которые я могу использовать при подготовке отчетов для управления, например из которого вы можете экспортировать необработанные данные.

Заранее спасибо

Ответы [ 2 ]

6 голосов
/ 12 августа 2009

Вот мой собственный опыт работы с ситом в ок. 24 часа с тех пор, как я задал этот вопрос. Он предоставляет достаточные визуальные, хотя и неинтерактивные данные, например, «только для чтения». Он предоставляет способ «копировать» данные, отображаемые в различных сетках «Показать», в моем случае «Показать в использовании». Однако объем данных, который получается при вставке в текстовый документ, выходит за рамки того, что фактически отображается в сетке, и является обильным.

Позвольте мне уточнить мой вариант использования. sIEve не указывает на «утечки» как таковые, а скорее на «сирот». Чтобы увидеть, что это означает на языке SIEve, см. эту страницу .

Как только я использовал браузер sIEve для доступа к интересующей меня странице, я использовал функцию «Показать в использовании» для отображения сетки с примерно 10 или 12 полями. Данные столбца можно отсортировать, щелкнув заголовок, поэтому я смог отсортировать столбец «Сирота», а затем выбрать диапазон строк, в которых указано «Да», а затем нажать «Копировать»

Однако я задал этот вопрос в первую очередь, потому что Копирование либо не работает, либо завершилось сбоем. Я продолжал сталкиваться с этими проблемами примерно треть или половину времени, но оставался постоянным и, наконец, смог вставить необработанные данные в документ.

Как я уже говорил, количество необработанных данных обильно. Поэтому единственное, что я разработал, - это регулярное выражение для подсчета «записей». Каждая запись начинается со следующей строки:

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 голосов
/ 12 августа 2009

Ссылка устарела, поэтому я изменил ее, чтобы перейти в корень блога , и нашел статью через теги.

Детектор утечки памяти JavaScript (v2)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...