aws-samples / aws-samples/aws-lambda-extensions

Unable to debug with SAM local invoke in Node.js example

Aperta
#66 7 commenti 7 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Go
Stelle
487
Fork
144
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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?

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia con l'esempio `nodejs-example-extension` e riproduci la configurazione di attach di VS Code usando `sam local invoke --port 6767`. Leggi i log della fase di registrazione relativi a `register`, `next` e all'avvio dell'inspector, quindi determina perché l'inspector segnala che la porta 6767 è già in uso. Il lavoro è completato quando le invocazioni locali eseguono correttamente l'attach e i breakpoint vengono rispettati per la Lambda.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
node.js
Ambito
devtools
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.