Visual Studio代码调试程序不在SAM本地的断点处停止

时间:2018-06-04 15:29:24

标签: node.js amazon-web-services visual-studio-code aws-lambda

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

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

2 个答案:

答案 0 :(得分:4)

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

在我的launch.json中,我必须进行更改

"localRoot": "${workspaceRoot}",

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

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

  • 编辑文件
  • sam local invoke -d 5858
  • VS代码中的F5
  • 调试
  • 继续。这将停止调试,并重复循环。

sam local start-api有点好,因为我不必再次调用cli,但是在启动另一个我认为很奇怪的HTTP请求之后,我仍然不得不重新附加。

答案 1 :(得分:3)

假设,您想查看代码的行为,而不仅仅是停止它。 如何对Rookout这样的实时lambda使用调试解决方案?

最重要的是,它不仅可以在SAM本地运行,还可以在AWS的已部署功能上运行。