gpt4 book ai didi

node.js - Node 运行代码但不会在 vscode 中的断点处停止

转载 作者:行者123 更新时间:2023-12-05 06:55:59 29 4
gpt4 key购买 nike

我在 node.js 中有简单的测试代码,我在 windows 10 上的 vscode 中运行。

我在第一行代码下了一个断点。

let x = 'hello world'
console.log(x)

我的launch.json配置如下。

"version": "0.2.0",
"configurations": [


// nodes
{
"type": "node",
"request": "launch",
"name": "node: Launch Program",
"program": "${file}",
"console": "integratedTerminal",
},
{
"type": "node",
"request": "launch",
"name": "node: Launch Program (External Terminal)",
"program": "${file}",
"console": "externalTerminal"
}
]

代码在集成终端和外部终端中运行,但如果我设置一个断点则不会在断点处停止。

这是我在集成终端中看到的:

C:\Users\Owner\Dropbox\programming\javascript> cd c:\Users\Owner\Dropbox\programming\javascript && cmd /C "set "NODE_OPTIONS=--require C:\Users\Owner\AppData\Local\Temp\vscode-js-debug-bootloader.js" && set "VSCODE_INSPECTOR_OPTIONS={"inspectorIpc":"\\\\.\\pipe\\node-cdp.24028-42.sock","deferredMode":false,"waitForDebugger":"","execPath":"C:\\Program Files\\nodejs\\node.exe","onlyEntrypoint":false,"autoAttachMode":"always","fileCallback":"C:\\Users\\Owner\\AppData\\Local\\Temp\\node-debug-callback-101745418fdd2bc6"}" && "C:\Program Files\nodejs\node.exe" .\test.js "
Debugger listening on ws://127.0.0.1:52096/7c733fea-7053-4446-8901-4220611d16ad
For help see https://nodejs.org/en/docs/inspector
hello world

我尝试了各种配置,但似乎都不起作用。我必须假设我没有调用调试器。我所知道的是,在执行类似操作时会为 python 调用调试器。

请问如何让代码在断点处停止?

最佳答案

没有提供解决方案,所以这是迄今为止最好的解决方案。

经过检查,调试器确实启动了。

运行此示例代码:

let x = 'hello world'

let SomeSize = 1000
for (let i = 0; i < SomeSize; i++) {

console.log(x, i)
}

console.log('the end')

输出如下:

hello world 525
hello world 526
hello world 527
Debugger attached.
hello world 528
hello world 529
hello world 530

因此可以看出调试器实际上确实附加了,但是在已经运行了大约 500 行代码之后(在这种特殊情况下)。

如果程序很短,比如说 100 次循环,用户可能没有机会检查代码是否运行到末尾,因为 断点 会在 之前简单地经过调试器 附加自身。

后续问题可能是如何延迟调试器以防止这种滞后行为,答案可能在这里:https://nodejs.org/api/debugger.html

或者,使用 setTimeout 延迟代码,让调试器有机会启动。

已编辑:解决方案是升级到最新版本的 node:node -v v15.4.0

关于node.js - Node 运行代码但不会在 vscode 中的断点处停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65208753/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com