无法使用Chrome DevTools调试node.js

时间:2019-03-23 15:11:37

标签: node.js debugging google-chrome-devtools remote-debugging

当我运行node --inspect app.js时,它显示为“附加了调试器”。然后,我打开chrome:// inspect,看到我的应用程序在那运行,所以我单击“打开专用的DevTools”或“检查”(在应用程序名称旁边)。不管我如何打开Node DevTools,它似乎都没有连接任何东西(我在那里看不到源代码,调试器语句被忽略,没有日志记录到控制台等)。我还尝试通过打开常规DevTools并单击绿色的Node图标来打开它。

这很奇怪,因为Chrome可以清楚地看到服务器正在运行,并且显然有东西连接到Node(而且我认为网络上没有其他功能可以做到这一点),但是我仍然无法让DevTools甚至承认服务器的状态存在。

我还清楚地记得几周前以完全相同的方式调试了某些东西,然后一切正常(尽管我记得我也为此付出了一些努力,但最终还是以某种方式使它可以工作,我想附加一下名称将文件放在命令末尾而不是放在文件中间就可以了。此后发生的唯一一件事就是我从v8更新到了v10(LTS)

我显然已经尝试过重启,并且还阅读了有关节点的所有手册和文章-检查那里,没有任何帮助。

4 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,我已经通过

解决了

1)将chrome更新到最新版本,然后重新启动

2)重新启动节点--inspect server.js

3)注意的端口号,如下所示 port number

4)打开chrome:// inspect并添加localhost:步骤3中记录的端口号 update connection in chrome

答案 1 :(得分:0)

似乎是一个新的Chrome问题:https://github.com/nodejs/node/issues/26887

答案 2 :(得分:0)

使用命令而不是节点--inspect:-

节点--inspect-brk

答案 3 :(得分:0)

Chrome 版本:92

对我来说,问题是 Chrome DevTools 没有寻找我的 Node.js 进程正在使用的连接端口。

我做了以下事情:

  1. 使用 --inspect 标志启动节点进程。它在端口 9239 上启动了进程。
  2. 在 Chrome 地址栏中输入 chrome://inspect/#devices
  3. 点击设备页面中的“打开专用 DevTools for Node”。
  4. 它会打开“DevTools-Node.js”窗口。
  5. 点击“连接”标签。
  6. 点击“添加连接”按钮。
  7. 在文本框中输入 localhost:9239,然后点击“添加”。

添加正确的端口后,DevTools 连接到 Node.js 进程,我能够调试它。