Visual Studio代码,debugging节点 – 我怎样才能打这个“未经validation的断点”?
我只是开始与节点和VSCode(在某种程度上,JavaScript),所以这可能是一个小学生的错误。
只有一个JavaScript文件writefile.js
:
var fs = require('fs'); process.stdin.on('data', function (text) { fs.writeFileSync("test.txt", text, 'utf8'); console.log("The file was saved."); process.exit(); }); console.log('what do you want to write?');
哪个工作正常,没有附加debugging器。
现在我正在尝试debugging – 为了保持简单,我只是手动启动节点在控制台中
node --debug-brk writefile.js
如果我在fs.writeFileSync行上放置了一个断点,当我在Visual Studio Code中附加debugging器时,会收到一条消息,说明它是“未validation的断点”:
其他断点击中罚款。 我期望所有描述的断点都应该在writeFileSync之前被命中,只有在控制台上的用户input之后才能被命中。
我尝试启动节点时使用-nolazy选项 – 但断点仍然显示为未validation,我也得到了一个长时间的暂停,而'evented IO的v8 javascript'在内存使用率上升…
我究竟做错了什么?
问题是通过将节点升级到4.4.3来解决的 – 我从2014年开始使用v0.11版本。
仍然会感兴趣的是为什么这在旧版本中不起作用。