节点检查器如何工作
How Does Node-Inspector Work
因为node-inspector是一个非常有用的程序,我想我应该看看源代码,看看我是否不能拼凑出它是如何工作的。 据我所知,该程序充当浏览器和活动调试会话之间的中介,促进它们之间的通信。 它通过paperboy和套接字与浏览器通信的方式似乎非常简单。 我很难理解的是节点检查器如何与在不同进程中进行的节点调试会话进行通信。
为了更清晰和具体一点,我通常以这种方式运行节点检查器:
-
我像这样运行我的脚本:
node --debug-brk myscript.js
-
然后我打开一个新终端并运行节点检查器和
我很想知道的是节点检查器如何找到我想要调试的脚本,然后连接到它。 我找到了一个"调试器"对象,它似乎实现了与节点调试会话通信的接口,但它最初如何连接到它对我来说有点神秘。
好吧,V8 附带了一个调试器协议,任何应用程序都可以使用。如第一篇文章所述,基于 JSON 的 API 用于进程外通信。当您使用 --debug-brk
标志运行节点进程时,您只需指示 v8 引擎等待要附加并侦听指定(或默认)端口的调试器(实现此协议)。
这有帮助吗?
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- jQuery UI自动完成突然停止工作
- AngularJS UI路由器不能像ng路由器那样工作
- HTML5音频加载和播放获胜'我不能在iPad上工作
- JavaScript打印功能使日历停止工作
- Javascript.getHours()工作不正常
- 为什么这在IE中的工作方式与在Firefox中不同
- 视频HTML没有'无法在Internet Explorer 11上工作
- 扩展移相器按钮类不工作
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 正在尝试使用if和else添加类,但无法正常工作
- Jquery FadeIn FadeOut 只工作一次
- Foreach无法在Typescript中工作
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- 最大高度转换不;不工作,工作缓慢
- Gulp-rev:不是第一次工作,而是在第一次工作之后工作
- 在JavaScript中的类中,push和concat的工作方式有何不同
- JQuery - Ajax: encodeUriComponent不工作(EncodeUri工作)