c++ - 使用提供的运行时如何在本地调试 AWS Lambda?
问题描述
我想在本地调试一个用 C++ 编写的 AWS Lambda 函数。理想情况下,我希望能够单步执行我的代码(就像您使用GDB或任何体面的 IDE 一样)。使用 AWS Lambda 执行此操作的方法通常包括AWS SAM。
思路一,使用SAM调试:
不幸的是,SAM 不允许您调试提供的运行时,因为它“仅”支持 Node.js、Python 和 Go(比较文档)。
问题一:
有没有办法以某种方式将 GDB 附加到我编译的 lambda 函数?
思路二,使用 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 上做到这一点?
解决方案
推荐阅读
- reactjs - 在 Gatsby 站点中维护/访问全局状态
- sql - 基于条件的 SQL 选择
- python - 无法安装噪声模块
- mysql - MySQL:BTREE 慢速索引路径(表大小:723704015 行)
- python - 创建一个函数,该函数接收名称为数组的字符串,然后打印每个元素 [python]
- node.js - TypeError:Router.use() 需要一个中间件函数,但有一个未定义的
- c# - 使用 iTextSharp 将图像插入 PDF 表单
- linux - bash 中过度设计的 checkroot
- java - swapWords 方法不返回修改后的 ArrayList
在爪哇 - android - 颤振:图像 BoxFit.cover 在堆栈中不起作用