调试时Visual Studio代码重定向输入

时间:2015-09-30 10:29:25

标签: node.js visual-studio-code

我的申请是从stdin阅读:

var input = process.stdin.read();

是否可以将Visual Studio代码配置为在调试时重定向输入?

所以它等于这个命令行:

node app.js < input.txt

此配置无效,调试无法启动。

{
  "name": "Launch",
  "type": "node",
  "program": "app.js",
  "stopOnEntry": false,
  "args": [
    "<",
    "input.txt"
  ]
}

1 个答案:

答案 0 :(得分:2)

args数组通常用于Node.js启动和V8引擎运行时标志。

  --no-deprecation
  --throw-deprecation
  --trace-deprecation
  --v8-options
  --max-stack-size=val
  --icu-data-dir=dir

  --enable-ssl2
  --enable-ssl3

在命令行键入node --v8-options以查看V8运行时标志的完整列表。

我建议您使用命令行中的debug标志启动应用程序,这样您就可以指示它执行stdin,然后将调试程序附加到正在运行的进程中。

> node --debug app.js
Debugger listening on port 5858

您的launch.json文件中可以有多个配置。添加或修改一个作为您的&#34;附加&#34;调试配置。附加,&#34;地址&#34;和&#34; port&#34;必须指定(请注意&#34;地址&#34;必须设置为&#34; localhost&#34;因为尚不支持远程调试)。端口应该是上面返回的调试启动过程。

Enter image description here

一旦您的应用程序在指定的端口上运行,您可以在播放/运行图标旁边的下拉列表中更改调试目标。

Enter image description here