使用提供的运行时如何在本地调试 AWS Lambda?

Use*_*645 5 c++ gdb docker aws-lambda aws-sdk-cpp

我想在本地调试用 C++ 编写的 AWS Lambda 函数。理想情况下,我希望能够单步执行我的代码(就像您使用GDB或任何像样的 IDE 那样)。使用 AWS Lambdas 执行此操作的方法通常包括AWS SAM

思路1,使用SAM调试:

不幸的是,SAM 不能让您调试提供的运行时,因为它“仅”支持 Node.js、Python 和 Go(比较文档)。

问题 1:

有没有办法以某种方式将 GDB 附加到我编译的 lambda 函数?

想法2,使用docker-lambda运行:

您还可以使用lambci/docker-lambda启动您的函数。如果你想得到一些调试输出,你可以做 strace docker run --rm -v my/build/dir:/var/task lambci/lambda:provided handler '{"some": "event"}'. 这有效,但并不是我正在寻找的调试质量。

问题2:

我可以以某种方式将 a 附加到正在运行的 lambda 函数docker-lambda吗?

想法3:远程

绝望,去追求你能得到的任何东西(这不是我想做的)。

问题 3:

如果在本地真的没有办法做到这一点,我应该如何在 AWS 上做到这一点?