uso tengo solucion porque nada mucha memoria hacer excesivo error consumo consume ajax internet-explorer internet-explorer-7 internet-explorer-6

ajax - tengo - IE colgando, usando el 100% de la CPU



uso de cpu 100 (3)

¿Has intentado rastrear el problema? Si el problema también ocurre en IE8, podría usar los comandos console.log y su nueva herramienta depuradora / dev impresionante que está incorporada. De lo contrario, utilice la antigua barra de herramientas de desarrollo para IE o alertas. Intenta reducir el problema y luego archiva un error (y pega el código aquí por favor).

Tengo una aplicación web que, en el curso de una interacción normal, bloquea IE. Al decir "IE colgado", quiero decir que IE ya no responde y usa el 100% de la CPU. El único para salir de este estado es matar el proceso IE. Sobre la aplicación:

  • Carga solo una página en el navegador, se comunica con un servidor con consultas Ajax y actualiza el DOM.
  • Puedo reproducir esto con IE6 e IE7, pero no con Firefox o Safari.

Me pregunto si alguien ya ha visto esto, y si hay algunos casos conocidos que pueden hacer que IE se cuelgue / use el 100% del estado de la CPU.


Intente adjuntar el depurador de scripts (a través de Visual Studio, en mi caso), y vea qué lo está causando.

Lo más probable es que sea un javascript que se ejecuta en un bucle infinito, o simplemente un bucle demasiado rápido para lo que debe hacerse por solicitud ajax.


Use WinDbg, http://www.microsoft.com/whdc/devtools/debugging/

Adjúntalo al proceso IE que tiene el problema.

El comando .symfix + establecerá la ruta de su símbolo para que apunte al servidor de símbolos de Microsoft y almacenará en caché los símbolos de depuración localmente.

El comando! Funaway enumerará todas las pilas en el proceso y te dirá cuál se está volviendo loco.

Si tiene suerte, puede ver algo reconocible, como un reemplazo de expresiones regulares en la parte superior de la pila. O tal vez el motor de diseño ha entrado en un ciclo infinito. Ambos me han sucedido en el pasado.

Si la pila de llamadas no tiene sentido, use ''g'' para hacer que el proceso funcione, espere unos segundos, presione Ctrl + Break, ¡luego intente! Fugitivo nuevamente.

Una vez que tenga los símbolos localmente, también puede usar el Explorador de procesos de SysInternals para ver las pilas de un proceso. Configure la opción Símbolos en Process Explorer para que apunte a su caché de símbolos local, algo así como c: / Program Files / Debugging Tools para Windows / sym.