前言
作为构建大型复杂应用系统的可靠工具,活字格低代码开发平台一直致力于为开发者提供更高效、更便捷的开发体验。近日,活字格低代码开发平台 V10.0 Update1 即将正式发布!新版本带来一系列重大更新和改进,而其中一个最重要的新增功能就是可视化断点调试。
什么是断点调试(Debug)
相信经常用 IDE 代码开发的同学们都知道,当我们在正式环境的系统中发现 Bug,但是在日志中又找不到对应的具体代码位置时,我们通常需要通过断点调试(Debug)来追踪代码的运行流程,然后在对应方法中打断点,然后再一步一步查看对应的代码逻辑,最终找到出错的位置并解决。
活字格可视化断点调试介绍
活字格可视化断点调试可以允许开发者在活字格设计器中设置断点,实现程序的单步调试,当程序运行到断点的位置时,活字格设计器就会进入断点显示模式,这个时候就可以展示出当前的各项状态信息、开发者可以轻松查看相关数据,分析程序运行状态,找到潜在问题。除此之外,对于已有的业务逻辑,开发者可借助断点调试功能直观的查看每一步操作对应状态的影响,从而更好地帮助开发者理解和优化自己写的程序。
活字格的断点调试包含以下内容:
设置断点(Set breakpoint)。
删除断点(Remove breakpoint)。
启动调试器(Launch debugger):启动一个附加的浏览器,并附加到服务器进程。
停止调试(Stop debugging):停止调试,关闭浏览器,从服务器分离的过程。
重新启动调试(Restart debugging):停止调试,然后重新启动调试器。
继续调试(Continue):恢复命令执行直到下一个断点。
单步跳过(Step over):跳过执行下一个命令。
单步进入(Step into):让进程运行到一个命令的内部命令,并且如果该命令具有内部命令(如服务器命令、共享命令等),则在内部命令中的第一个命令处暂停。
单步跳出(Step out):从一个命令的内部命令中跳出,并在该命令的下一个位置暂停。
可视化断点调试功能的加入,进一步增强了活字格低代码开发平台的问题排查能力,与已有的全量日志功能形成互补,为开发者提供更全面、更高效的调试手段,提升大型复杂应用交付质量。
实战体验
以上是关于活字格可视化断点调试功能的介绍。下面,给大家介绍一个具体的实战例子,帮您了解活字格中如何借助断点调试快速排查问题。使用前需要配置以下环境:
环境准备
假定想要通过活字格设计器在订单详情页面中中修改一条订单的信息(包括订单信息和订单明细信息两张表),如下图所示:
修改的逻辑如下图所示:
在前四步中已经写好了添加、更新订单和订单明细表的逻辑,接下来需要追加一个“删除多余订单明细行”的逻辑,前四步中的新增和更新的逻辑我们可以通过是否有商品的 ID 来确定,但是删除订单的明细行则无法用商品的 ID 来确定,因此我们删除的逻辑如下:先根据订单主表 ID,取到数据库既有的订单子表 old 信息,然后循环这个 old 表,每一行都去新提交的订单子表中根据 ID 查找,如果没有找到这个 ID 那就说明,最终用户已经在浏览器上删除了这条数据,所以我们也需要删除此条订单子表信息。
这段逻辑中最困难的地方就是**循环 old 表,每一行都去新提交的订单子表中根据 ID 查找,**这块我们可以用活字格中自带的数组插件来完成,如下图所示:
但是我们无法确定这个插件给出来的需要删除的 ID和判断的数据对不对,这个时候我们就可以用断点调试这个功能一边看一边改:
首先我们在对应的查询条件出打上小红点,然后点击调试,弹出一个新的浏览器之后我们点击对应的操作按钮,然后这个时候再打开设计器,就可以开始调试了。调试页面如下所示:
这个时候我们可以看到不同的变量数据:
然后我们进行循环调试,会发现确实循环到第三次的试试needDeleteID这个数组是空:
到这一步之后,所以就很简单了,如果needDeleteID这个数组是空,那么就删除此条既有数据
因此完整的服务端命令的逻辑应该是这样:
这个时候我们保存之后再进行调试:
会发现 needDelteID 为 Null 的数据被删除了,同时订单主表中新增了一条数据,更新了一条数据。
总结
以上就是活字格 V10.0 Update1新增加的功能断点调试的介绍,后续我们还会为大家持续更新服务端命令共享机制和快速选择单元格功能,如果您想了解更多信息,欢迎点击这里查看。
同时,葡萄城即将于 10 月 31 号发布活字格 V10.0 Update1 新版本发布会,欢迎大家预约直播观看。