C++ で記述された AWS Lambda 関数をローカルでデバッグしたいと考えています。理想的には、コードをステップ実行できるようにしたいと考えています ( GDBや適切な IDE で行うように)。AWS Lambda でこれを行う方法には、通常、AWS SAMが含まれます。
アイデア 1、SAM を使用したデバッグ:
残念ながら、SAM では Node.js、Python、および Go のみがサポートされているため、提供されたランタイムをデバッグすることはできません (ドキュメントを比較してください)。
質問1:
GDB をコンパイル済みのラムダ関数に接続する方法はありますか?
アイデア 2、docker-lambda を使用して実行します。
lambci/docker-lambdaを使用して関数を開始することもできます。デバッグ出力を取得したい場合は、 strace docker run --rm -v my/build/dir:/var/task lambci/lambda:provided handler '{"some": "event"}'
. これは機能しますが、実際には私が探しているデバッグの品質ではありません。
質問2:
で実行されているラムダ関数に何らかの方法でアタッチできますdocker-lambda
か?
アイデア 3: リモート:
必死になって、手に入るものは何でも手に入れましょう (これは私がやりたいことではありません)。
質問 3:
これをローカルで行う方法が本当にない場合、AWS でどのように行うべきですか?