gpt4 book ai didi

node.js - Visual Studio Node : debug into Worker Threads (node 11)

转载 作者:搜寻专家 更新时间:2023-10-31 22:34:42 24 4
gpt4 key购买 nike

VS Code 的 Javascript 调试器可以用来调试 Node 11 的新“工作线程”吗?工作线程是在 web worker 之后建模的,顶部有少量额外的功能,并且可以从新的 worker_threads 包中获得(参见 https://nodejs.org/api/worker_threads.html )。除了 Node 的子进程之外,还可以以 SharedArrayBuffers 的形式与工作线程共享内存。 .

我的 VS Code 启动配置如下所示:

   {
"type": "node",
"request": "launch",
"name": "Mocha Tests",
"program": "${workspaceFolder}/node_modules/mocha/bin/_mocha",
"runtimeArgs": [
"--experimental-wasm-threads",
"--experimental-worker"
],
"args": [
"-u", "tdd",
"--timeout", "100000",
"--colors", "${workspaceFolder}/test"
],
"internalConsoleOptions": "openOnSessionStart",
"autoAttachChildProcesses": true
}

我可以调试到主 Node 脚本,但是“autoAttachChildProcesses”标志在附加到衍生的工作线程时无效,而且在工作线程内运行的代码中添加“调试器”语句也没有效果。

他们在他们的引用文档中提到工作线程尚不支持“检查器”包,所以我想这可以解释为什么会这样。

尽管困难重重,还有人成功调试到 VS Code 中的工作线程吗?

最佳答案

2021 年 2 月更新 现在可以使用 vscode-js-debug 在 VSC 中调试工作线程,如其他答案中所指出的。我已经对其进行了测试,并且效果很好。 Webstorm 仍然是一个很好的选择,可能内置了更多的功能,但请记住它是付费产品。

免责声明:下面的答案描述了我调试工作线程的经验,但没有使用 VS Code,这是最初的问题。我认为无论如何了解替代选项都会很有用,因为看起来截至今天,调试工作线程的唯一选项是 Webstorm

Webstorm 选项

可以使用 Webstorm 调试工作线程:https://blog.jetbrains.com/webstorm/2018/10/webstorm-2018-3-eap-6/我试过了,效果非常好(如上面链接中所述)。

Chrome 工具

我尝试使用 chrome 开发工具调试工作线程,采用与调试网络工作线程相同的方法,但没有成功。调试web worker时,在chrome工具中是这样显示的

enter image description here

不幸的是,工作线程没有。当工作线程运行时,调试器不会显示它,也不会让您放置断点或单步执行代码。我怀疑这可能是因为: https://github.com/nodejs/node/issues/26609

VS 代码

VSC 没有调试工作线程的功能。有趣的是,VCS 也没有调试 Web Workers 的功能。这是他们的明确决定: https://github.com/Microsoft/vscode-chrome-debug/issues/675

关于node.js - Visual Studio Node : debug into Worker Threads (node 11),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54251797/

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