首页 > 解决方案 > Visual Studio 代码调试器未在 SAM Local 的断点处停止

问题描述

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

知道如何让它在我的断点处停止。

标签: node.jsamazon-web-servicesvisual-studio-codeaws-lambda

解决方案


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

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

"localRoot": "${workspaceRoot}",

"localRoot": "${workspaceRoot}/hello_world", // or whatever folder your handler lives in

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

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

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


推荐阅读