2017-08-01 302 views
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

相關問題