Node.js 16+中--async-stack-traces状态及异步栈追踪方案问询
Node.js 16+ 异步栈追踪缺失排查
我遇到的问题与Stack Overflow上的相关问题类似,不过针对的是Node.js 16+版本。该问题的回答提到:
在Node.js 14+中,可使用
--async-stack-traces标记优化异步代码的栈追踪,但仅支持async/await,不支持Promise。
我使用的是v16.13.2版本,执行node -h | grep async未找到该标记,但我的栈追踪仅显示同步栈,想明确以下问题:
--async-stack-traces是否被弃用?- 是否存在替代方案?
- Node.js 16+如何获取完整的异步栈追踪?
更新1:在GitHub的issue评论中发现可以通过node --v8-options | grep async确认标记存在,验证后确认该标记在16版本中确实存在,但我不知道如何启用它——因为我的package.json脚本使用了Jasmine、Testcafe、Typescript、ts-node,没有直接调用node命令。
更新2:看到另一条GitHub评论后更加困惑:
该标记在V8中默认启用,无需手动传入。
还有代码仓库中的定义可作为证明,但实际情况并非如此,问题可能与我使用的库有关。
更新3:最终发现问题源于Testcafe的一个bug,与默认开启的--async-stack-traces标记无关。
内容的提问来源于stack exchange,提问作者Daniel Kaplan
相关产品推荐
相关产品推荐

