怎么在华为防火墙做网站映射,网站建设公司58,平面设计零基础难学吗,外贸谷歌优化摘要#xff1a; 最近开发小程序JavaScript的运行时#xff0c;通过在客户端嵌入JavaScript V8引擎来实现。前端同学需要调试JavaScript代码#xff0c;正好Chrome浏览器的Devtools是与V8的Inspector调试协议是一脉相承的#xff0c;理论上是可以使用Chrome Devtools调试Ja…摘要 最近开发小程序JavaScript的运行时通过在客户端嵌入JavaScript V8引擎来实现。前端同学需要调试JavaScript代码正好Chrome浏览器的Devtools是与V8的Inspector调试协议是一脉相承的理论上是可以使用Chrome Devtools调试JavaScript V8引擎。 [V8的文档](https://github.com/v8/v8/wiki/De
最近开发小程序JavaScript的运行时通过在客户端嵌入JavaScript V8引擎来实现。前端同学需要调试JavaScript代码正好Chrome浏览器的Devtools是与V8的Inspector调试协议是一脉相承的理论上是可以使用Chrome Devtools调试JavaScript V8引擎。
V8的文档里提到可以把Chrome Devtools作为调试器的前端来调试JavaScript。d8工程里虽然有个例子但是无法run起来。写一下我实现。 InspectorAgent创建一个Websocket服务假设打开一个9224端口等待调试器前端连接。Chrome浏览器打开chrome-devtools://devtools/bundled/inspector.html?ws127.0.0.1:9224就会呈现一个Devtools调试页面。点击页面上的Reconncet DevTools按钮Devtools通过Websocket连接上InspectorAgent。InspectorAgent把来自Devtools的消息通过v8_inspector::V8InspectorSession的dispatchProtocolMessage转发给V8调试后端。然后V8调试后端通过v8_inspector::V8Inspector::Channel接口发消息给Devtools。 InspectorAgent在中间仅仅扮演消息转发的角色。 这里有两个细节
在创建context的时候需要指定一个名字这个会在devtools的Sources栏显示。不指定名字的话则通过debugger:///VMXX找到不够方便调试器的断点单步调试支持需要实现V8InspectorClient的runMessageLoopOnPausequitMessageLoopOnPause等方法
最后效果如下图 原文链接
本文为云栖社区原创内容未经允许不得转载。