nodejs 调试 (Inspector)

nodejs 调试 (Inspector)

##Inspector

Inspector 调试

(本质是断点调试)优势:

  • 查看当前上下文的变量
  • 可观察当前函数调用堆栈
  • 不侵入代码
  • 可在暂停状态下执行指定代码

Inspector 的构成以及原理

  • WebSockets 服务(监听命令)
  • Inspector 协议
  • HTTP服务(获取元信息)

WebSockets

其中 ws://127.0.0.1:56374/680debbb-3009-4e86-8878-7992296e5cbfWebSockets 服务的地址和 uuid

image-20190228143641634

源信息

127.0.0.1:56374/json

image-20190228143953223

激活调式

如何激活调试

1
$node --inpect app.js

激活调式后会发生什么?

WebSockets 服务(监听命令)

HTTP服务(获取元信息)

如何调试没有激活的Node.js程序

LinuxOSX 上,可以监听到 SIGUSR1 发送的调试信息

调试客户端

是什么?

连接到 Node.js Inspector 的工具

  • Chrome DevTools 55+
  • VS Code
  • 其他

Chrome

  • 在元 信息中的 devtoolsFrontendUrl 字段,可以打开调试面板
  • image-20190228150826302