Visual Studio Code 调试器不会在 SAM Local 中的断点处停止

Jas*_*ach 5 amazon-web-services node.js aws-lambda visual-studio-code

我正在使用 AWS Lambda 节点 8.10、带有内嵌源映射的 babel 和最新的 VSCode(检查器协议)。当我启动调试器时,VSCode 在 lambda 的入口点中断,但不会在任何后续断点处停止;播放按钮刚好越过入口点,函数就会运行完成。如果我选中“所有异常”复选框,它会在代码中发生异常但仍然不是我的断点的其他地方停止。

任何想法如何让它在我的断点处停止。

iva*_*lle 6

我遇到了同样的问题:VS Code 调试器遇到了一些断点,但不是我的处理程序的断点。我将其追溯到运行目录,这不是 VS Code 所期望的。

在我的launch.json中,我不得不改变

"localRoot": "${workspaceRoot}",
Run Code Online (Sandbox Code Playgroud)

"localRoot": "${workspaceRoot}/hello_world", // or whatever folder your handler lives in
Run Code Online (Sandbox Code Playgroud)

我还注意到编辑调试周期是:

  • 编辑文件
  • 山姆本地调用 -d 5858
  • VS Code 中的 F5
  • 调试
  • 继续。这将停止调试并重复循环。

sam local start-api 从某种意义上说,我不必再次重新调用 cli,但我仍然必须在启动另一个 HTTP 请求后重新附加,我认为这很奇怪。