【发布时间】:2021-06-25 00:54:01
【问题描述】:
有一组名为 docker-lambda 的 Docker 映像可用,旨在尽可能接近地复制 AWS Lambda 环境。它是第三方,但在某种程度上得到了亚马逊的认可,并在他们的SAM Local 产品中使用。我编写了一个调用 ELF 二进制文件的 Lambda 函数,当我在具有与 AWS Lambda 环境相同的运行时和内核的 docker-lambda 容器中运行它时,它可以工作。当我在 AWS Lambda 上运行相同的函数时,该方法神秘地崩溃且没有输出。我已经为函数提供了比进程可能使用的更多 RAM,并且依赖项显然存在,因为我知道在不访问二进制文件的情况下实际上不可能调试它,但是有任何常见/可能的原因吗?正在发生吗?
另外,有什么技术可以调试这样的东西吗?在 Docker 中运行时,我可以添加一个 --cap-add SYS_PTRACE 标志来调用使用 strace 的命令并查看可能导致错误的原因。我不知道 AWS Lambda 上的等效调试技术。
【问题讨论】:
-
您是否打开了对 CloudWatch 的日志记录?里面有什么用吗?
-
如果您可以共享一些最小的示例代码,这可能会很有用 - 失败的原因可能有多种。
标签: amazon-web-services aws-lambda executable