1

我正在尝试设置一个调试配置,以便在使用Mocha的Node应用程序中运行测试。 我将Ubuntu作为Linux的Windows子系统运行,并且我的Visual Studio代码设置为使用Bash作为集成终端。使用Windows子系统为Linux进行Visual Studio代码调试

这里是我的launch.json配置:

{ 
    "name": "Launch via NPM", 
    "type": "node", 
    "request": "launch", 
    "console": "integratedTerminal", 
    "cwd": "${workspaceRoot}", 
    "runtimeExecutable": "npm", 
    "runtimeArgs": [ 
     "test" 
    ], 
    "protocol": "inspector", 
    "port": 5858 

    ... 
} 

这将运行我的综合终端的测试,但总是会超时当试图连接到调试器,并出现以下错误:

Error message

Cannot connect to runtime process, timeout after 10000 ms - (reason: Cannot connect to the target: connect ECONNREFUSED 127.0.0.1:5858).

而且,这里是它显示了在终端b在它开始运行测试之前:

​​

任何想法如何确保它连接调试器?

+0

请问,如果你更改端口工作?尝试设置'diagnosticsLogging:true'并检查日志。 –

+0

尝试了不同的端口。另外'diagnosticLogging'属性是不允许的 – Alkasai

回答

0

您也必须配置npm脚本。

的package.json

{ 
    "name": "xy-controller", 
    "version": "1.0.0", 
    "main": "./main.js", 
    "scripts": { 
    "debug": "node --inspect=5859 main.js" 
    } 
} 

launch.json

{ 
    "type": "node", 
    "request": "launch", 
    "name": "Launch Program via NPM", 
    "cwd": "${workspaceRoot}", 
    "runtimeExecutable": "npm", 
    "runtimeArgs": [ 
     "run-script", "debug" 
    ], 
    "protocol": "inspector", 
    "port": 5859 
} 
+0

这是一个好主意,但是当我尝试在连接到流程时超时。调试控制台显示如下: 'C:\ Program Files \ nodejs \ npm.cmd run-script debug' '在ws://127.0.0.1上侦听的调试器:5858/7e740d3b-d874 ...' – Alkasai

+0

如果我尝试添加'“console”:“integratedTerminal”,“(这是bash),它会混淆路径: 'cd”c:\ Users \ ....“; “C:\ Program Files \ nodejs \ npm.cmd”run-script debug -bash:cd:c:\ Users \ ...:没有这样的文件或目录C:\ Program Files \ nodejs \ npm.cmd:command not found' – Alkasai

相关问题