Node.js 的 V8 检查器集成


¥V8 inspector integration for Node.js

V8 检查器集成允许将 Chrome 开发者工具绑定到 Node.js 实例以进行调试和分析。它使用 Chrome DevTools 协议

¥V8 Inspector integration allows attaching Chrome DevTools to Node.js instances for debugging and profiling. It uses the Chrome DevTools Protocol.

V8 检查器可以通过在启动 Node.js 应用时传入 --inspect 标志来启用。也可以使用该标志提供自定义的端口,例如 --inspect=9222 将接受端口 9222 上的开发者工具连接。

¥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.

要中断应用代码的第一行,则传入 --inspect-brk 标志而不是 --inspect

¥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.cn/docs/inspector 

(在上面的示例中,网址末尾的 UUID dc9010dd-f8b8-4ac5-a510-c1a114ec7d29 是动态生成的,它在不同的调试会话中有所不同。)

¥(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.)

如果 Chrome 浏览器版本低于 66.0.3345.0,则在上述网址中使用 inspector.html 而不是 js_app.html

¥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 尚不支持调试 工作线程ndb 可用于调试它们。

¥Chrome DevTools doesn't support debugging worker threads yet. ndb can be used to debug them.