significa que paused depurar debugger consola chrome debugging google-chrome-devtools

debugging - que - javascript console chrome



Herramienta de desarrollo de Chrome: archivo[VM] de JavaScript (8)

Al usar eval, el javascript se lanza a las máquinas virtuales de depurador de Chrome. Para ver js creado con eval en Chrome Debugger Sources, establezca este atributo al final (gracias a Splaktar) de js:

//@ sourceURL=dynamicScript.js

¿Es posible depurar la carga dinámica de JavaScript mediante algún depurador como WebKit, FireBug o IE8 Developer Tool?

Agregué un punto de interrupción en mi archivo javascript (jaydata.js) y estaba presionando "Paso a la siguiente llamada de función". Cuando llegó a una línea que era:

},

aparece otro archivo titulado "[VM] (8312)". Seguí haciendo clic en "Paso a la siguiente llamada de función" y ahora mi pantalla es:

¿Cuáles son estos guiones extraños y misteriosos titulados "[VM] (XXXX" y de dónde vienen?


Cuando depure una fuente de ventana secundaria (iframe) que posteriormente se descarga, su archivo de origen también obtendrá el prefijo de VM y el fondo amarillo.


Descubrí que VM se genera a partir de algunas extensiones de Chrome: insertan CSS / JS en la página y Chrome usa los archivos VM para ejecutarlo.


Si desea depurar archivos JS inyectados mediante programación en chrome, puede usar el debugger; declaración, esto es más rápido que encontrar dónde está el script y también más rápido que generar un archivo con sourceurl .

Funciona como un punto de interrupción y localiza automáticamente su código en la pestaña fuente cromo donde sea que use el debugger; declaración.

Tenga en cuenta que el origen del script es un archivo VMXXX.


Siempre que cargue contenido HTML a través de AJAX, y ese contenido contenga etiquetas <script> , la secuencia de comandos se evaluará mediante eval () y se reconocerá mediante la vista Fuentes de Chrome como un archivo nuevo que comienza con ''VM''. Siempre puede ir a la pestaña Red, encontrar la solicitud AJAX y ver la respuesta HTML en su totalidad, incluida su secuencia de comandos.


Tuve el mismo problema cuando estaba depurando mi aplicación angular. Ver demasiadas secuencias de comandos de máquina virtual que no se podían utilizar como blackbox realmente demoraba en depurarse. Prefiero elegir mozilla / IE explorer para depurar.


Tuve el mismo problema. El problema es que el código de mi aplicación se consideró blackboxes por accidente. Cuando traté de entrar en el código, seguía abriendo estas pestañas VMXXXX .

Después de eliminar la configuración de blackbox para el archivo js de mi aplicación, pude pasar mi código correctamente.


[VM] (scriptId) no tiene un significado especial. Es un nombre ficticio para ayudarnos a distinguir el código que no está directamente relacionado con un nombre de archivo, como el código creado con eval y friends.

En el pasado, todas estas secuencias de comandos acababan de etiquetarse (program) .

Si estás interesado, solo busca "[VM]" en el código fuente de Chromium , descubrirás que estos números no tienen significado significativo fuera de las herramientas de desarrollo.

actualización 2015-06-25

[VM] (scriptId) se renombró a VMscriptId un tiempo , y aquí está el enlace directo al resultado de la búsqueda en caso de que el valor cambie nuevamente.