Tencent CloudBase Toolkit 插件 0.2.0 版起支持云函数本地调试和云端调试两种调试模式。

  • 本地调试:使用 CloudBase CLI 在本地模拟运行 Node.js 云函数,云函数的 eventcontext 均为模拟参数,适合本地开发
  • 云端调试:使用云端的云函数实例进行调试,所有的参数、环境均与云端一致,适合定位复杂的线上问题

云开发介绍

云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等serverless化能力,可用于云端一体化开发多种端应用(小程序,公众号,Web 应用,Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。产品文档:

本地调试

本地调试需要使用 工具,请先安装 CloudBase CLI 工具。

安装地址:

操作步骤

  1. 确保当前项目根目录存在 cloudbaserc.json 配置文件,如果不存在,请在资源管理区右键选择【生成 cloudbaserc 配置文件】
  2. 在需要调试的位置打上断点
  3. 选中需要调试的云函数目录,右键【调试云函数】,在弹出的选项中选择【本地调试】即可。

img

云端调试

云端调试会运行一个云函数实例,供本地连接调试使用。云端调试需要使用云函数实例,会产生相应的运行费用。

云端调试只能通过 CloudBase Toolkit 的【调试云函数】触发,无法通过 Debug 面板触发。

WARNING

  1. 在开始操作前,建议你先阅读注意事项。
  2. 不建议对生产环境或被频繁调用的云函数进行云端调试,可能会无法命中调试,并阻塞其他的请求。

操作步骤

  1. 确保当前项目根目录存在 cloudbaserc.json 配置文件,如果不存在,请在资源管理区右键选择【生成 cloudbaserc 配置文件】
  2. 选中需要调试的云函数目录,右键【调试云函数】,在弹出的选项中选择【云端调试】
  3. 在需要调试的位置打上断点
  4. 触发你的云函数。你可以根据的你的使用情况,从小程序端、SDK 或腾讯云控制台中触发你的云函数。

img

注意事项

当前云函数的云端调试能力处于 Beta 阶段,欢迎试用并向我们反馈使用中的问题或建议。

在使用云函数的云端调试功能时,需要了解如下信息及注意点:

  • 云端调试使用了云函数的一个实际运行的并发实例来进行调试。
  • 由于触发事件的随机性,如果有多个实例存在的情况下,触发事件可能随机的落到某个实例上,因此不是任意请求均能命中调试并发实例并可以开始调试。
  • 调试断点暂停运行时:
    • 长时间未运行且未返回的情况下,可能会导致触发端报错,例如 API 网关提示超时。
    • 实例仍然处于计时状态,并会在此次调试完成时,继续执行直到函数执行完成。整个过程记录耗费的总时长作为此次函数的运行时长。
  • 从触发并发实例运行,到最终完成调试,单次执行完成的最长时间为 900 秒。即在调试时如果中断执行 900 秒后,将会强制终止此次执行,按函数运行时长 900 秒并超时进行统计和计量。
  • 当前版本的调试能力,会使得云函数超时配置为 900 秒,在正常退出调试时将会重新设置超时为正常值。如果调试命令异常退出或强行终止,会导致云函数超时未能设置为正常值,此时可以通过再次部署(命令行)或手工编辑(控制台)的方式修改云函数的超时配置。

配置项

一般情况下,你无需关心调试的配置选项,CloudBase Toolkit 会自动生成相关的调试配置,并启动调试功能。

本地调试

下面是本地调试的 launch 配置,包含了如下选项:

  • type: VS Code 调试类型,固定值为 node
  • request: VS Code 调试启动类型,固定值为 attach
  • port: 调试进程端口,默认为 9229
  • name: 当前调试项的名称,默认为 "[函数名] 云函数本地调试" 形式
  • entry: 调试的目标函数名
  • cloudbaseLocal: 标志当前调试项为适用于 CloudBase Toolkit 本地调试的

json { "configurations": [ { "type": "node", "request": "attach", "port": 9229, "name": "[app] 云函数本地调试", "entry": "app", "cloudbaseLocal": true } ] }

云端调试

下面是云端调试的 launch 配置,包含了如下选项:

  • type: VS Code 调试类型,固定值为 node
  • request: VS Code 调试启动类型,固定值为 attach
  • port: 调试进程端口,默认为 9222
  • name: 当前调试项的名称,默认为 "[函数名] 云函数云端调试" 形式
  • remoteRoot: 云端代码的根路径,固定为 /var/user
  • localRoot: 本地代码的根路径
  • cloudbaseRemote: 标志当前调试项为 CloudBase Toolkit 云端调试配置项

json { "type": "node", "request": "attach", "name": "[app] 云函数云端调试", "port": 9222, "cloudbaseRemote": true, "remoteRoot": "/var/user", "localRoot": "${workspaceFolder}/functions/app" }

云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为开发者提供高可用、自动弹性扩缩的后端云服务,包含计算、存储、托管等serverless化能力,可用于云端一体化开发多种端应用(小程序,公众号,Web 应用,Flutter 客户端等),帮助开发者统一构建和管理后端服务和云资源,避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。

产品文档:

技术文档:

技术交流加Q群:601134960

最新资讯关注微信公众号【腾讯云云开发】

☁ 更多精彩 扫描二维码了解更多

img