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

时间:2012-07-23 10:56:55

标签: debugging node.js v8 node-inspector

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

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

无论如何使用断点和所有内容调试节点代码?

5 个答案:

答案 0 :(得分:18)

yupp,我已经成功使用了节点检查器。如果您想要永久断点,只需在代码中插入debugger;即可。请参阅http://nodejs.org/api/debugger.html

使用node --debug-brk script.js使节点等到连接调试器后,也非常有帮助。

答案 1 :(得分:3)

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

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

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

    $ node.js --inspect index.js

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

  1. 如果由于某些原因您无法使用--inspect开关启动Node.js应用或脚本,则仍然可以通过用SIGUSR1发出信号来指示Node.js进程开始侦听调试消息(在Linux和OS X上)。对于Node 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 Dedicated Node.js Inspector not stopping at breakpoints

答案 2 :(得分:1)

在这里详细说明一下:

在需要断点的地方设置调试器,然后使用node debug script.js / index.js运行代码

当调试器在断点处停止时,您需要重新检查以检查变量。

答案 3 :(得分:0)

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

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

使用命令node inspect index.js

运行文件

按C键继续到下一个断点

您甚至可以通过键入repl

在该断点处调试与变量关联的值

有关更多信息,请参阅https://nodejs.org/api/debugger.html

答案 4 :(得分:0)

您是否尝试过使用nodemon库? it can be found here

出于开发目的,您可以启动运行nodemon的应用程序。我有这个脚本:

"dev": "nodemon --inspect src/index.js"

只要在代码中到达debugger语句,它就会中断。要打开可查看服务器代码的控制台,请以chrome打开控制台,然后单击nodejs图标:enter image description here

它还可以帮助您每次在服务器上保存任何文件时刷新服务器。

让我知道它是否有效!