用于Node.js的V8调试器的集成
V8 检查器的集成允许将 Chrome 开发者工具附加到 Node.js 实例,以便进行调试和性能分析。 它使用了 Chrome 开发者工具协议。
可以通过在启动 Node.js 应用程序时传入 --inspect
标志来启用 V8 检查器。
也可以使用该标志提供自定义的端口,例如 --inspect=9222
将会在 9222 端口上接受开发者工具的连接。
如果要在应用程序代码的第一行进行断点,则传入 --inspect-brk
标志而不是 --inspect
。
$ node --inspect index.js
Debugger listening on ws://127.0.0.1:9229/dc9010dd-f8b8-4ac5-a510-c1a114ec7d29
For help, see: https://nodejs.org/en/docs/inspector
(在上面的示例中,URL 末尾的 UUID dc9010dd-f8b8-4ac5-a510-c1a114ec7d29 是动态生成的,它在不同的调试会话中是不一样的。)
如果 Chrome 浏览器的版本低于 66.0.3345.0,则在上述的 URL 中使用 inspector.html
而不是 js_app.html
。
V8 Inspector integration allows attaching Chrome DevTools to Node.js instances for debugging and profiling. It uses the Chrome DevTools Protocol.
V8 Inspector can be enabled by passing the --inspect
flag when starting a
Node.js application. It is also possible to supply a custom port with that flag,
e.g. --inspect=9222
will accept DevTools connections on port 9222.
To break on the first line of the application code, pass the --inspect-brk
flag instead of --inspect
.
$ node --inspect index.js
Debugger listening on ws://127.0.0.1:9229/dc9010dd-f8b8-4ac5-a510-c1a114ec7d29
For help, see: https://nodejs.org/en/docs/inspector
(In the example above, the UUID dc9010dd-f8b8-4ac5-a510-c1a114ec7d29 at the end of the URL is generated on the fly, it varies in different debugging sessions.)
If the Chrome browser is older than 66.0.3345.0,
use inspector.html
instead of js_app.html
in the above URL.
Chrome DevTools doesn't support debugging worker threads yet. ndb can be used to debug them.