【问题标题】:How to attach to node with VSCode and grunt-contrib-connect如何使用 VSCode 和 grunt-contrib-connect 附加到节点
【发布时间】:2015-12-02 18:58:51
【问题描述】:

我无法使用 Visual Studio Code 调试我的节点应用程序。

我的.vscode/launch.json 看起来像这样:

{
  "version": "0.2.0",
  "configurations": [{
    "name": "Attach",
    "type": "node",
    "request": "attach",
    "port": 9001
  }]
}

我使用grunt-contrib-connect 来启动我的网络服务器。我的连接任务是这样定义我的gruntfile.js 的:

connect: {
  server: {
    options: {
      debug:true,
      port: 9001,
      base: '.',
      livereload: true,            
    },
  },
},

通过上述任务成功启动 Web 服务器后,我尝试从 VSCode 进行附加,但除了一些 UI 闪烁之外,似乎没有任何反应。没有击中断点。

我阅读了VS Code Debugging Documentation,尤其是将 VS 代码附加到节点部分,这就是我将debug:true 添加到我的连接任务的原因。然而,这似乎并没有解决任何问题。

【问题讨论】:

    标签: node.js visual-studio-code grunt-contrib-connect


    【解决方案1】:

    如果我正确理解了 grunt-contrib.connect 中的“端口”,那么这是网络服务器将响应的端口,而不是调试端口。

    因此,在您的 .vscode/launch.json 中,您必须指定调试端口而不是网络服务器端口。由于 grunt 使用节点,我假设调试端口是节点的默认端口 5858。

    【讨论】:

    • 这似乎让我更进一步。但是,VS Code 现在无法附加:“无法连接到运行时进程(5000 毫秒后超时)”
    • 我不认为“debug: true”做对了。 grunt-contrib-connect 文档说:“将调试选项设置为 true 以启用日志记录,而不是使用 --debug 标志。”这听起来不像是节点调试。我从未使用过 grunt,但很可能您必须在调试模式下启动 grunt,如下所示:“node --debug-brk $(which grunt) ”。
    • 嗯。这让我可以使用 VS Code 来调试 grunt 本身,而不是我的网站。
    • 我建议您尝试了解如何调试基于 grunt 的网络服务器。我对 VS Code 很熟悉(因为我是开发者),我知道如何配置 VS Code,但我不知道如何配置 grunt 来调试网络服务器...
    猜你喜欢
    • 2014-11-19
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-12
    • 2013-12-28
    • 1970-01-01
    • 2016-03-07
    相关资源
    最近更新 更多