如何使用断点和所有内容调试节点js应用程序?

jay*_*rjo 28 debugging v8 node.js node-inspector

我已经安装了node-inspector,以发现它不支持断点:| 它有什么意义,请记住,大部分节点代码是异步的,你根本无法一步一步地遵循它?

我在这里肯定错过了一点......

无论如何用断点和一切来调试节点代码?

rdr*_*rey 20

yupp,我已经成功使用了node-inspector.如果您想要永久性断点,只需debugger;在代码中插入即可.见http://nodejs.org/api/debugger.html.

使节点等待调试器连接使用node --debug-brk script.js,也可能非常有用.

  • 对于更高版本的Node.js,不推荐使用--debug-brk。使用`--inspect-brk`代替。 (2认同)

Yuc*_*uci 6

(对于节点8和更高版本)

Node.js具有内置的调试器。通常,您可以通过两种方式打开调试器:

  1. 使用--inspect--inspect-brk开关启动Node.js应用或脚本。例如:

    $ node.js --inspect index.js

(注意:--inspect-brk在用户代码启动之前中断)

  1. 如果由于某种原因您无法使用该--inspect开关启动Node.js应用程序或脚本,则仍可以通过在SIGUSR1上发出信号(在Linux和OS X上)来指示Node.js进程开始侦听调试消息。对于节点8及更高版本,它将激活Inspector API,与--inspect开关相同

    $ kill -sigusr1 23485

(注意:您需要用自己的Node.js进程ID替换23485)

打开调试器后,您可以打开Goog​​le Chrome浏览器,然后在地址栏中输入 chrome://inspect

然后,您应该会在“远程目标”下看到一个条目。继续并单击“检查”。

现在,您可以设置断点并开始调试代码。

参考:

  1. https://nodejs.org/en/docs/guides/debugging-getting-started/
  2. 有关stackoverflow的相关问题: Chrome Devtools专用的Node.js检查器未在断点处停止


小智 5

要调试 Node js 应用程序,可以使用 debug 内置模块

debugger;在要插入断点的地方插入语句

使用命令运行文件 node inspect index.js

按C继续下一个断点

您甚至可以通过键入来调试与该断点处的变量关联的值 repl

更多信息请参考https://nodejs.org/api/debugger.html