aws-samples / aws-samples/aws-lambda-extensions
Unable to debug with SAM local invoke in Node.js example
- Langage dominant
- Go
- Étoiles
- 487
- Forks
- 144
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
Hi all,
in `nodejs-example-extension` example for Node.js platform something during registration phase brakes the debugger when runs locally on VS Code using `sam local invoke --port 6767 ...` on a Lambda that includes this layer.
The following is a snap of the debug logs when launched from VS Code:
```
START RequestId: 05da599b-f76d-494e-905b-bead9860f186 Version: $LATEST
nodejs-example-extension launching extension
Debugger listening on ws://0.0.0.0:6767/95282789-af6d-4c40-b544-b1d70e0650c2
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
hello from extension
register
extensionId 0e16eae5-5e84-4b22-a204-c54424793f69
next
Starting inspector on 0.0.0.0:6767 failed: address already in use
invoke
next
...
```
notice the **Starting inspector on 0.0.0.0:6767 failed: address already in use** error line in logs, after that all set breakpoints are ignored and it's impossible to debug every Lambdas.
this is the VS Code debug task setup:
```
{
"name": "lambda_with_example_layer",
"type": "pwa-node",
"request": "attach",
"address": "localhost",
"port": 6767,
"localRoot": "${workspaceFolder}/lambda_with_example_layer",
"sourceMaps": true,
"remoteRoot": "/var/task",
"protocol": "inspector",
"stopOnEntry": false,
"skipFiles": [
"/**"
]
}
```
Is there any debugger/SAM/Docker configuration that i missed? Or is something else deeper in the layer execution flows that broke debugging in a container with SAM local?
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par l’exemple `nodejs-example-extension` et reproduisez la configuration d’attachement de VS Code à l’aide de `sam local invoke --port 6767`. Lisez les journaux de la phase d’enregistrement autour de `register`, `next` et du démarrage de l’inspecteur, puis déterminez pourquoi l’inspecteur signale que le port 6767 est déjà utilisé. Le travail est terminé lorsque les invocations locales s’attachent correctement et que les points d’arrêt sont respectés pour la Lambda.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- node.js
- Domaine
- devtools
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- À clarifier
- Accessibilité débutants
- 25/100