我为我的平台(MacOS(构建了V8二进制文件。
我可以通过执行该二进制并运行任意JS代码来启动V8外壳。
bash-$ ./v8
v8> var foo = 42
v8> 42
我想要的是以某种方式使用Chrome DevTools作为此V8实例的调试前端,就像我如何使用DevTools进行远程删除另一个Chrome实例一样。
简单地说,像这样的东西
bash-$ ./v8 --remote-debugging-port=9222
由于nodejs已经对chrome devtools有很好的支持,我分叉了nodejs,并对其进行了调整以在Vanilla V8环境中运行我的代码。
构建我的叉子:https://github.com/joelewis/node
然后运行二进制:
$ /out/Debug/node --inspect --inspect-brk mycode.js
这将在mycode.js的第一行中打开带有断点的Chrome DevTools窗口。在这种环境中,没有Nodejs Globals(例如要求,出口,模块(。这是一个纯净的V8环境!