令狐葱@前端笔记

使用Chrome DevTools单步调试node程序

node程序的调试向来是比较令人头疼的问题,不过Chrome DevTools在去年已经可以支持node程序的调试,虽然不像使用Eclipse调试Java程序那么方便功能那么强大,但是也算是提供了一个便捷的途径来帮助我们快速的定位node程序的问题。

这个功能是在Google I/O 2016上正式发布的,可以通过这里的视频(youtube,需翻墙)了解更多信息。

使用步骤记录如下:

安装最新的Node

要支持这项功能,需要node.js的版本在6.3.0以上。如果版本较低,将会提示不支持该功能。在Mac上你可以使用nvm来切换node的版本,具体请自行google之。

1
2
3
4
5
6
7
8
9
10
11
12
13
➜ wx node --inspect --debug-brk index.js
node: bad option: --inspect
➜ wx node -v
v6.2.0
➜ wx nvm list
-> v6.2.0
v7.3.0
default -> 6.2 (-> v6.2.0)
node -> stable (-> v7.3.0) (default)
stable -> 7.3 (-> v7.3.0) (default)
iojs -> N/A (default)
➜ wx nvm use 7.3.0
Now using node v7.3.0 (npm v3.10.10)

运行node程序

运行node程序时需要带上--inspect标记。比如可以这样运行:

1
node --inspect index.js

如果需要在node程序的第一行就自动加断点,可以这样来执行:

1
node --inspect --debug-brk index.js

打开调试连接

执行之后就会看到一个chrome-devtools://...开头的链接,然后复制到Chrome浏览器中,就可以进行node程序的调试了。

1
2
3
4
5
➜ wx node --inspect --debug-brk index.js
Debugger listening on port 9229.
Warning: This is an experimental feature and could change at any time.
To start debugging, open the following URL in Chrome:
chrome-devtools://devtools/bundled/inspector.html?experiments=true&v8only=true&ws=127.0.0.1:9229/d9c8660e-ce96-44bb-9742-515bf49ee26b
令狐葱 wechat
欢迎您扫一扫上面的二维码,订阅我的微信公众号!