3

因为 node-inspector 是一个非常有用的程序,所以我想我应该看看源代码,看看我是否无法拼凑出它是如何工作的。据我所知,该程序充当浏览器和活动调试会话之间的中介,促进它们之间的通信。它通过 paperboy 和套接字与浏览器进行通信的方式看起来非常简单。我很难理解的是节点检查器如何与在不同进程中进行的节点调试会话进行通信。

为了更加清晰和具体,我通常以这种方式运行节点检查器:

  1. 我像这样运行我的脚本:

    节点 --debug-brk myscript.js

  2. 然后我打开一个新终端并运行 node-inspector &

我很想知道的是 node-inspector 如何找到我想要调试的脚本然后连接到它。我发现了一个“调试器”对象,它似乎实现了一个与节点调试会话通信的接口,但它最初如何连接到它对我来说有点神秘。

4

1 回答 1

3

好吧,V8 附带了一个调试器协议,任何应用程序都可以使用它。正如第一篇文章所述,基于 JSON 的 API 用于进程外通信。当您使用该--debug-brk标志运行节点进程时,您只需指示 v8 引擎等待调试器(实现此协议)被附加并侦听指定(或默认)端口。

这有帮助吗?

于 2012-06-30T09:09:02.017 回答