You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调试本地调用的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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 00:03:23