Visual Studio代码中的调试无效

时间:2017-06-15 02:44:18

标签: javascript node.js debugging

启动配置

{
    // Use IntelliSense to learn about possible Node.js debug attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "attach",
            "name": "Attach",
            "port": 5858
        },
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Program",
            "program": "${workspaceRoot}/src/app.js",
            "cwd": "${workspaceRoot}"
        }
    ]
}

在Visual Studio代码中调试我的反应代码时出现以下错误。实际上我用node + react创建了这个项目,并使用visual studio作为IDE,并想调试我的代码。我已经尝试了很多,但无法成功调试我的代码。

Debugging with legacy protocol because Node.js v6.10.2 was detected.Program path uses differently cased character as file on disk; this might result in breakpoints not being hit.
node --debug-brk=21730 --nolazy src\app.js 
    Debugger listening on [::]:21730
    e:\reactjs\reactFacebook\my-app\src\app.js:1
    (function (exports, require, module, __filename, __dirname) { import React, { Component } from 'react';
                                                                  ^^^^^^
    SyntaxError: Unexpected token import
        at createScript (vm.js:56:10)
        at Object.runInThisContext (vm.js:97:10)
        at Module._compile (module.js:542:28)
        at Object.Module._extensions..js (module.js:579:10)
        at Module.load (module.js:487:32)
        at tryModuleLoad (module.js:446:12)
        at Function.Module._load (module.js:438:3)
        at Timeout.Module.runMain [as _onTimeout] (module.js:604:10)
        at ontimeout (timers.js:380:14)
        at tryOnTimeout (timers.js:244:5)

5 个答案:

答案 0 :(得分:1)

我有同样的问题,结果是控制台中的线索:使用旧协议进行调试,因为检测到Node.js v6.10.2

我使用以下步骤解决了这个问题:

  • 关闭VS代码
  • 卸载节点
  • 使用NVM
  • 安装节点v5
  • 删除项目
  • 中的 node_modules 文件夹
  • 重新打开VS代码
  • 运行npm install

放置断点并重试。

答案 1 :(得分:1)

要在不使用launch.json的vs代码中开始调试,

转到文件→偏好设置→设置→扩展名→节点调试→[选择]“打开”

Image-Enable debugger

答案 2 :(得分:0)

我通过在要调试的函数内添加以下代码来解决该问题:

debugger;

并开始调试。 编码愉快!

答案 3 :(得分:0)

一个非常简单的解决方案是->只需卸载调试器并删除launch.json文件 重新安装调试器之后,然后启动

答案 4 :(得分:0)

对我来说,调试只能在 cwd 设置为

"cwd": "${workspaceRoot}/src"