Инструмент для отслеживания утечки памяти JavaScript

У меня есть веб-приложение, где есть утечка памяти, и я не могу его обнаружить. Я уже пробовал инструменты разработчика Chrome, которые обычно отлично работают, но я не могу отслеживать строки кода, которые несут ответственность. Инструменты Chrome просто дают мне слишком много информации, и я не могу связать объекты в памяти с моим кодом.

Есть ли другие инструменты, которые могут быть полезны?

Ответ 1

обновление: Позволяет использовать тип профиля Запись кучи.

  • открытый профилировщик devtools
  • выполнить разминки.
  • начать профайлер
  • повторить действие несколько раз
  • Если у объекта есть утечка, вы увидите то же количество групп синих полосок на панели обзора
  • остановить профайлер
  • выберите одну группу из этих синих полос в обзоре
  • загляните в список объектов

См. screencast Обнаружение утечки памяти Javascript (Chrome DevTools)

был: Вы можете использовать следующий сценарий для ограничения утечек памяти.

  • открытый профилировщик devtools
  • выполнить действие, которое делает утечку
  • сделать снимок кучи
  • повторить шаги 2 и 3 времени дерева
  • выберите последний снимок снимка
  • смените фильтр "Весь объект" на "Объекты между моментальными снимками 1 и 2"

После этого вы увидите объекты в виде набора просочившихся объектов. Вы можете выбрать объект и посмотреть список фиксаторов в дереве сохранения объектов

Ответ 2

Используйте значения innerHTML и outerHTML элемента в виде отдельное дерево DOM в представлении Heap Profiler, чтобы отображать объекты в памяти на ваш код и отслеживать утечки памяти.