0

我正在尝试按照我在此处找到的说明在 VS Code 中调试 Python SAM 应用程序

https://docs.aws.amazon.com/serverless-application-model/latest/developerguide/serverless-sam-cli-using-debugging-python.html

我不确定他们为什么不在示例中使用sam build,并指出,.aws-sam/build但这就是我正在尝试的。

我的launch.json样子是这样的:

{
    "version": "0.2.0",
    "configurations": [        
        {
            "name": "SAM CLI Python debug test",
            "type": "python",
            "request": "attach",
            "port": 5890,
            "host": "localhost",
            "pathMappings": [
                {
                    "localRoot": "${workspaceFolder}/.aws-sam/build",
                    "remoteRoot": "/var/task"
                }
            ]
        }
    ]
}

我现在直接触发 Lambda,所以我像这样调用它们:

sam local invoke -d 5890

然后我在build文件夹中找到的 Lambda 的开头放置一个断点,但是当我在 VS Code 中启动调试器时,它会执行 Lambda 而不会在断点处停止。

我用我正在使用的测试项目和我如何使用它的描述创建了一个 GitHub 存储库。

https://github.com/rupe120/aws-sam-python-debugging-test

有人可以帮我指出我在设置中缺少的东西吗?

4

2 回答 2

0

所以文档建议使用localRootof "${workspaceFolder}/hello_world/build"(假设使用的是 Hello World 模板)。但是,它仅在删除build路径末尾的 时才有效:

"localRoot": "${workspaceFolder}/hello_world"

这样,我就可以在没有 AWS Toolkit 的情况下使用它。

于 2020-06-30T08:09:24.443 回答
0

因此,推荐的方法是使用 AWS Toolkit 扩展。

https://github.com/awslabs/aws-sam-cli/issues/1926#issuecomment-616600799

于 2020-04-21T00:30:47.763 回答