无法写入TTD跟踪--同步模块加载完成了吗?nodejs调试节点chakkara



我正在尝试NodeChakra Time Travel Debug扩展以进行反向执行调试。为此,

1( 我安装了此扩展VSCode

2( 添加启动配置->添加配置->时间旅行节点启动->设置程序文件启动

这是看起来像的配置

{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}/demo.js"
}

跨步操作有效,但当我尝试后退时,它显示错误

TTD: Failed to launch time-travel debugging session -- "Could not write TTD trace -- has synchronous module loading completed?"

这是我正在检查的代码

console.log("hi");
var array = [1, 2, 3]
for (let index = 0; index < array.length; index++) {
console.log(array[index]);
}

我是不是错过了什么?

复制并粘贴github repo上提出的类似问题。

Node.js加载过程有点复杂,因此,TTD过程不会记录同步模块加载活动的执行情况(基本上是事件循环开始调度之前的任何情况(,因此时间旅行调试器无法回放应用程序的这一部分。

我从stackoverflow帖子中获取了代码,并将其封装在setImmediate中,以便在同步加载后执行:

setImmediate(() => {
console.log("hi");
var array = [1, 2, 3]
for (let index = 0; index < array.length; index++) {
console.log(array[index]);
}
});

现在,在数组赋值等处设置断点并后退应该可以正常工作。

相关内容

  • 没有找到相关文章

最新更新