42

我安装了节点检查器只是为了发现它不支持断点:| 这有什么意义呢,记住在很大程度上节点代码是异步的,你根本无法一步一步地遵循它?..

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

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

4

5 回答 5

23

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

node --inspect-brk script.js使用(previously )让节点等到调试器连接上node --debug-brk script.js,也很有帮助。

于 2012-07-23T12:29:17.823 回答
16

(适用于节点 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 进程开始侦听调试消息。对于 Node 8 及更高版本,它将激活 Inspector API,与 --inspect 开关相同

    $ kill -sigusr1 23485

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

打开调试器,你可以打开谷歌Chrome浏览器,在地址栏输入chrome://inspect

然后您应该会看到“远程目标”下列出的条目。继续并单击“检查”。

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

参考:

  1. https://nodejs.org/en/docs/guides/debugging-getting-started/
  2. stackoverflow 上的相关问题: Chrome Devtools Dedicated Node.js Inspector not stop at breakpoints
于 2018-06-21T15:23:41.557 回答
6

要调试 Node.js 应用程序,可以使用调试内置方法:

(1)debugger;在要插入断点的地方插入语句
(2) 使用命令运行文件$ node inspect <file name>
(3) 使用键例如,c继续到下一个断点

您甚至可以通过键入来调试与该断点处的变量关联的值repl。更多信息,请查看官方指南。

于 2019-03-30T09:01:59.430 回答
2

您是否尝试过使用nodemon库?可以在这里找到

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

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

任何时候debugger到达代码中的语句都会中断。要打开可以查看服务器代码的控制台,请在 chrome 中打开控制台并单击 nodejs 图标:在此处输入图像描述

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

让我知道它是否有效!

于 2019-06-07T23:00:33.727 回答
1

在这里稍微详细说明一下:

在您希望断点所在的任何位置设置调试器,然后使用 node debug script.js/index.js 运行代码

当调试器在您的断点处停止时,您将需要 repl 来检查变量。

于 2014-04-29T17:32:06.977 回答