Chrome 调试器 VM 脚本是什么?

What is this Chrome debugger VM script?

您可以通过在 Chrome 开发工具控制台中调用 dir(obj) 并单击右侧的 link 显示来找到此文件,指向 dir 在其中定义的位置这个文件。

这个文件背后的细节是什么?

这是 Chrome 调试器的一部分的脚本还是与 V8 的某种接口?

为什么顶部有 2007 Apple 版权?

当我打开这个文件时,VM 后面的数字标识符总是不同的。 VMXXXX 标识符从何而来?

是否还有像这样公开可见的这些文件?如果有,您如何访问它们?

谢谢!

此文件是开发工具实现的一部分,它位于 Blink 源代码树中:Source/core/inspector/InjectedScriptSource.js

有 Apple 版权,因为 Blink 本身是 WebKit 的分支,从那里保留版权。

VMxyz 标识符由 devtools themsevles 为没有关联 URL 的动态注入脚本生成。请参阅 Source/devtools/front_end/bindings/DefaultScriptMapping.js

中的 addScript 方法

DevTools 中有很多 JavaScript 代码,尤其是当涉及 UI 时,它们都是基于 HTML 的。只需浏览 Blink Sources 中的 Source/devtools/front_end/ 文件夹。