无法使用Chrome DevTools调试node.js

4
当我运行node --inspect app.js时,它会显示“Debugger attached”。然后我打开chrome://inspect,看到我的应用程序在那里运行,所以我点击“打开专用DevTools”或“检查”(位于应用程序名称旁边)。无论我如何打开Node DevTools,它似乎都没有连接到任何东西(我无法在那里看到源代码,调试器语句被忽略,没有任何日志记录到控制台等)。我还尝试通过打开常规DevTools并单击绿色的Node图标来打开它。
这很奇怪,因为Chrome明显看到服务器正在运行,而且某些东西明显正在连接到Node(我不认为我的网络上还有其他任何东西可以做到这一点),但我仍然无法使DevTools甚至承认服务器的存在。
我还清楚地记得几周前以完全相同的方式调试过某些内容,当时一切都正常工作(尽管我记得我也在折腾这个问题,但最终我设法让它工作了,我想在命令的末尾附加文件名而不是将其放在中间最终起到了作用)。自那时以来唯一发生的事情就是我从v8更新到了v10(LTS)。
我显然尝试过重新启动,并阅读了有关node --inspect的所有手册和文章,但没有什么帮助。

也许这篇文章可以帮到你 @M. Farnik https://medium.com/the-node-js-collection/debugging-node-js-with-google-chrome-4965b5f910f4 - arielb
我已经阅读了并且按照它所说的做了,但没有帮助。 - M. Farnik
@M.Farnik,你解决了吗?我也遇到了同样的问题——使用远程调试器/SSH隧道时,在chrome://inspect页面上看到了我需要的远程目标,但是一旦我点击DevTools链接,就看不到任何源代码,并且无法在“内存”选项卡中访问JavaScript VM实例。 - VMS
同样遇到了这个问题。 - thebossman
4个回答

4

Chrome版本:92

对我而言,问题在于Chrome DevTools没有找到我的Node.js进程所使用的连接端口。

我进行了以下操作:

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

添加正确的端口后,DevTools连接到了Node.js进程,我成功地对其进行了调试。


2
我曾经遇到同样的问题,我通过以下方法解决了它:
1)将Chrome更新到最新版本并重新启动它;
2)重新启动node --inspect server.js;
3)记录端口号,如下图所示 端口号
4)打开chrome://inspect,并添加localhost:在步骤3中记录的端口号更新Chrome中的连接

2

使用命令代替node --inspect:

node --inspect-brk


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接