NodeJS 是否使用节点的内置调试器检查变量?

2jcobegt  于 2022-12-26  发布在  Node.js
关注(0)|答案(3)|浏览(122)

我正在尝试使用节点调试器。我正在运行node debug server来运行我的服务器。然后我有:

...
var Workspace = mongoose.model('Workspace');
debugger;

此时,正如预期的那样,当我运行这段代码时,调试器会弹出,但是,我希望它设置了所有当前变量,就像Chrome自己的调试器一样。
但是:

break in hotplate/node_modules/bd/lib/bd.js:133
132 
133   debugger;
134 
135   // Delete the ID and the version since there's no point,
debug> Workspace
ReferenceError: Workspace is not defined

那么......我实际上该如何检查当前变量呢?
附加问题:有没有办法使用Chrome的开发者工具(CTRL-J),让它连接到节点,并以这种方式工作?(我知道节点检查器,但它非常过时,而且...)

5sxhfpxr

5sxhfpxr1#

使用repl命令(参见docs中的第三个示例)

break in hotplate/node_modules/bd/lib/bd.js:133
132 
133   debugger;
134 
135   // Delete the ID and the version since there's no point,
debug> repl
Press Ctrl + C to leave debug repl
> Workspace

更新:附加问题-https://github.com/c4milo/node-webkit-agent

ct3nt3jp

ct3nt3jp2#

2018年,奖金问题的答案发生了变化。
运行node inspect foo.js
访问chrome://inspect,在设备列表中,您应该会看到一个条目Target (<process.version>),并附带一个inspect链接。
它看起来像这样:

bd1hkmkf

bd1hkmkf3#

你可以使用exec来检查变量,它要快得多,而且你不必切换到REPL。

break in hotplate/node_modules/bd/lib/bd.js:133
132 
133   debugger;
134 
135   // Delete the ID and the version since there's no point,
debug> exec workspace

相关问题