如何调试本地调用的AWS Lambda函数?基于Serverless Framework、NodeJS、Windows10
本地调试Serverless Framework v4的NodeJS Lambda函数(Windows 10)
1. 修改Serverless调用命令开启调试
Serverless Framework v4支持通过--inspect参数启动调试模式,将原有调用命令修改为:
serverless invoke local --function myFunctionName --env dev --path ./events/myFunctionName.json --inspect=9229
执行该命令后,终端会输出类似Debugger listening on ws://127.0.0.1:9229/xxxx的日志,说明函数已启动并等待调试器连接。
2. VSCode调试器配置
步骤1:创建launch.json配置文件
打开VSCode的调试面板(快捷键Ctrl+Shift+D),点击"创建launch.json文件",选择"Node.js"环境。
步骤2:修改调试配置
将默认配置替换为以下内容:
{ "version": "0.2.0", "configurations": [ { "type": "node", "request": "attach", "name": "Attach to Serverless Lambda", "port": 9229, "skipFiles": ["<node_internals>/**"], "localRoot": "${workspaceFolder}", "remoteRoot": "/var/task" } ] }
request: attach:先启动Lambda进程,再让调试器连接它port: 9229:和命令中指定的调试端口保持一致localRoot/remoteRoot:映射本地代码目录到Lambda运行时的/var/task目录,确保断点能正确命中
步骤3:开始调试
- 在代码中设置断点(点击行号左侧区域)
- 运行修改后的Serverless命令,等待调试监听日志出现
- 点击VSCode调试面板的"启动调试"按钮,即可触发断点调试
3. Chrome浏览器调试方法
- 先运行带
--inspect=9229参数的Serverless命令 - 打开Chrome浏览器,输入地址
chrome://inspect - 点击页面中的"Configure"按钮,添加
127.0.0.1:9229并保存 - 刷新页面后,会看到列表中出现你的Lambda函数进程,点击"Inspect"即可打开Chrome DevTools进行断点调试
注意事项
- 确保Windows下的文件路径正确,
--path参数中的路径不要出现语法错误 - 确认Serverless Framework v4版本支持
--inspect参数(v4正式版已支持该特性) - 断点需设置在Lambda handler函数或实际执行的代码逻辑中,避免设置在未被调用的代码块
内容的提问来源于stack exchange,提问作者Lucas David Ferrero
相关产品推荐
相关产品推荐

