Chrome Development Tool: [VM] file from javascript
I added a breakpoint in my javascript file (jaydata.js) and was pressing "Step over to the next function call." When it got to a line that was:
},
another file titled "[VM] (8312)" popped up. I kept clicking "Step over to the next function call" and now my screen is:
What are these strange and mysterious scripts titled "[VM](XXXX " and where do they come from?
[VM] (scriptId)
has no special meaning. It's a dummy name to help us to distinguish code which are not directly tied to a file name, such as code created using eval
and friends.
In the past, all of these scripts were just labelled (program)
.
If you're interested, just look up "[VM]"
in the source code of Chromium, you will discover that these numbers have no significant meaning outside the developer tools.
update 2015-06-25
[VM] (scriptId)
was renamed to VMscriptId
a while ago, and here is the direct link to search result in case the value changes again.
Whenever you load HTML content through AJAX, and that content contains <script>
tags, the script will be evaluated using eval() and recognized by Chrome's Sources view as a new file beginning with 'VM'. You can always go to the Network tab, find the AJAX request, and view the HTML response in its entirety, including your script.