是我一个人,还是Chromium DevTools停在
node_modules
(包括/usr/lib/node_modules
)中的断点处?
a.js
:
console.log('a.js');
require('./b');
b.js
:
debugger
console.log('b.js');
require('userhome');
$ npm i [email protected]
// add the following lines to node_modules/userhome/index.js:
// debugger
// console.log('userhome');
$ node --inspect-brk a.js
在 Chromium 中打开
about:inspect
。选择“远程目标”下的进程。按 F8。它停在b.js
。再次按 F8。它不会停在node_modules/userhome/index.js
并结束。
我错过了什么吗?有没有办法以某种方式调试这个问题(一种找出为什么它不会在
node_modules
断点处停止的方法)?
我正在运行 Chromium 121.0.6167.184 和 Nodejs v21.6.1。
UPD 我刚刚检查了另一台装有 Chromium 115.0.5790.102 和 v20.4.0 的机器,它在这里工作。它安装了 Node.js V8 --inspector Manager (NiM) 扩展,但我在测试之前将其关闭。
看起来好像
node_modules
在最新版本的 Chromium(也可能是 Chrome)中被认为是 “无趣”,因此被跳过。我想以某种方式禁用它。
我找到的解决方法是......不使用 Chromium DevTools。您可以使用
vscode
调试代码:
node --inspect
流程技巧是,您无法调试在
root
下运行的进程,就像在docker
容器中运行的进程一样。