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

Node.js 无法写入TTD跟踪--同步模块加载已完成吗?nodejs调试节点chakkara,node.js,debugging,visual-studio-code,vscode-debugger,Node.js,Debugging,Visual Studio Code,Vscode Debugger,我正在尝试NodeChakra Time Travel调试扩展以进行反向执行调试。为此, 1我安装了这个扩展代码 2添加启动配置->添加配置->时间旅行节点启动->设置要启动的程序文件 下面是配置的样子 { "type": "node", "request": "launch", "name": "Launch Program", "program": "${workspaceFolder}/demo.js" } “跳过”可以工作,但当我尝试后退时,它会显示错误 TTD

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

1我安装了这个扩展代码

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 post中获取了代码,并将其包装在setImmediate中,以便在同步加载后执行:

setImmediate(() => {
    console.log("hi");
    var array = [1, 2, 3]
    for (let index = 0; index < array.length; index++) {
        console.log(array[index]);
    }
});
现在,在数组赋值等处设置断点并后退应该可以正常工作