memoria liberar leaks collector javascript memory-leaks

liberar - javascript memory leaks



Herramientas para depurar fugas de memoria en JavaScript (3)

Tengo un problema de pérdida de memoria en un proyecto de JavaScript bastante complejo y espero que haya herramientas que puedan ayudarme a identificar la causa del problema.

He probado la pestaña de perfil de la herramienta para desarrolladores de Google Chrome, donde puedo tomar instantáneas de HEAP y difuminarlas con instantáneas anteriores (visite http://www.youtube.com/GoogleDevelopers#p/c/B9EC47A6AAE4540F/1/OxW1dCjOstE para poner en marcha en esa característica).

Puedo ver el drenaje de memoria con esta herramienta pero desde allí no puedo encontrar una forma de detectar dónde se guardan las referencias a mis objetos (probablemente en cierres).

Mi pregunta es: ¿Qué herramientas utiliza para la depuración de pérdida de memoria de JavaScript? ¿Existe alguna herramienta que me permita ver las referencias y un poco de código fuente de dónde se encuentran?




Parece que me encuentro con este problema a menudo y nunca tengo una buena respuesta que no sea la selección de puntos de interrupción inteligentes en su javascript. A veces hay una herramienta para su situación específica que puede ayudar a encontrar el problema, otras veces para mí es un proceso largo para encontrar la fuga.

Mire el generador de perfiles de asignación en Chrome DevTools, que le brinda una interfaz de usuario para sus asignaciones y luego le permite regresar a sus retenedores.

Aquí hay una buena lista de herramientas de fugas para Mozilla . Además, hay algunos screencasts de cómo usar las herramientas . En particular, le puede interesar la sección "Procesamiento posterior de los seguimientos de pila", ya que menciona la posibilidad de obtener mejores símbolos y la información del número de línea / nombre de archivo de un rastreo de pila.

Si está de acuerdo con el uso de Internet Explorer en Windows, aquí hay un detector de pérdida de memoria de JavaScript que también puede ser útil.

Finalmente, encontré esta buena herramienta en github llamada MemoryLeakChecker después de leer una publicación aquí , que busca grandes estructuras de datos e intenta ayudarte a identificar dónde estás perdiendo memoria.

Espero que esto ayude y hágame saber cuál (si alguno) termina ayudándole. Lo siento por la falta de hipervínculos reales, porque tengo menos de 10 reputación en este momento, no puedo ponerlos todos en la publicación.