Soe*_*ren 7 web-worker node.js visual-studio-code vscode-settings vscode-debugger
可以使用VS Code的Javascript调试器来调试节点11的新“工作线程”吗?辅助线程是根据Web工作者建模的,其顶部具有少量额外功能,并且可以从新的worker_threads软件包中获得(请参阅https://nodejs.org/api/worker_threads.html)。除了节点的子进程外,还可以以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
}
Run Code Online (Sandbox Code Playgroud)
我可以调试主节点脚本,但是“ autoAttachChildProcesses”标志在附加到派生的工作线程上无效,也没有在工作线程内部运行的代码中添加“ debugger”语句。
他们提到参考文档中的工作线程尚未支持“检查器”程序包,因此我想这可能解释了为什么。
面对所有这些困难,还有人能成功在VS Code中调试工作线程吗?
2021 年 2 月更新现在可以使用 vscode-js-debug 在 VSC 中调试工作线程,如其他答案中指出的那样。我已经测试过它并且效果很好。Webstorm 仍然是一个很好的选择,可能内置了更多功能,但请记住它是付费产品。
免责声明:下面的答案描述了我调试工作线程的经验,但没有使用 VS Code,这是最初的问题。我认为无论如何了解替代选项都会很有用,因为到目前为止,调试工作线程的唯一选项是 Webstorm。
网络风暴选项
可以使用 Webstorm 调试工作线程:https://blog.jetbrains.com/webstorm/2018/10/webstorm-2018-3-eap-6/ 我已经尝试过了,它工作得非常好(如上面的链接)。
Chrome 工具
我尝试使用 Chrome 开发工具调试工作线程,遵循与调试 Web Worker 相同的方法,但它不起作用。调试 Web Worker 时,它们在 Chrome 工具中显示如下
不幸的是,工作线程没有。当工作线程运行时,调试器不会显示它,并且不允许您放置断点或单步执行代码。我怀疑这可能是因为这个: https://github.com/nodejs/node/issues/26609
VS代码
VSC 没有调试工作线程的功能。有趣的是,VCS 也没有调试 Web Workers 的功能。这是他们的明确决定: https://github.com/Microsoft/vscode-chrome-debug/issues/675
| 归档时间: |
|
| 查看次数: |
720 次 |
| 最近记录: |