Visual Studio Code 调试器未连接到 SAM 本地

Nei*_*rdi 5 debugging visual-studio-code aws-sam-cli

根据 AWS 文档,我将像这样启动本地 SAM:

$ sam local start-api -d 5858
Run Code Online (Sandbox Code Playgroud)

我的 launch.json 中有以下内容

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to SAM Local",
            "type": "node",
            "request": "attach",
            "address": "localhost",
            "port": 5858,
            "localRoot": "${workspaceRoot}",
            "remoteRoot": "/var/task"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

但是当我启动 Visual Studio 调试器时,它说“无法连接到运行时,请确保运行时处于‘旧版’调试模式”

看起来很多人都在使用 Node.js 6 和 Visual Studio Code 时遇到这个问题,但我似乎找不到答案......我正在使用 Visual Studio Code 版本 1.18.1

我尝试将 "protocol": "Legacy" 添加到 launch.json 配置。我还尝试使用 --debug-port 而不是 -d 。我使用的是 Windows 10。不确定问题是否特定于 Windows。

小智 4

launch.json通过终端或 Visual Studio Code 的终端运行 sam local 时,设置断点并在调试下拉列表中选择断点名称,如文档中所示。

https://github.com/awslabs/aws-sam-local#debugging-applications

之后,启动 sam local start-api。然后,当您点击 API 上的端点时,您应该会看到类似以下的终端状态:

2018/01/12 07:17:29 调用index.handler(nodejs6.10)

2018/01/12 07:17:29 将 /Users/24g/1725_ecpo_lambda 挂载为 /var/task:ro 运行时容器内调试器侦听 [::]:8000

一旦您看到调试器正在监听。单击调试器上的播放按钮。我注意到这通常不会自行出现,除非有我认为的例外。

我使用的是 Visual Studio Code 1.19.1 版本。

您是否尝试过使用不同的端口?这是目前我的配置:

{
  "version": "0.2.0",
     "configurations": [
      {
        "name": "Attach to SAM Local",
        "type": "node",
        "request": "attach",
        "address": "localhost",
        "port": 8000,
        "localRoot": "${workspaceRoot}",
        "remoteRoot": "/var/task"
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)