[]
        
(Showing Draft Content)

调试与故障调查

推荐阅读

技术决策者

项目经理

高级技术人员

初级技术人员

测试人员




type=info

应用开发就是开发、调试、再修改、再调试的循环,直到所有需求都得到满足。

一、应用调试

应用调试是指在开发阶段,通过设计器内置的调试服务器提供的能力,快速定位问题。与编码开发不同,活字格并不提供断点和逐步调试,其调试能力是以覆盖操作全程的执行日志的形式提供的。您可以在设计器中按F5(【开始】选项卡中的【调试】菜单)启动页面调试,或在服务端命令、计划任务的窗体上点击【测试】按钮,启动调试,然后在Chrome浏览器DevTools(或Edge的对应工具)中Console里查看。


活字格工具栏


以下是调试相关的实用技巧:

1.1 命令/服务端命令

  • 在调试命令和服务端命令时,可以通过在特定的位置添加“设置变量命令”,让活字格在日志中输出运行到该节点时,该变量的值

  • 在数据表操作命令、执行SQL命令和设置变量命令的调试日志中可以看到实际执行的SQL语句,排查SQL语句更方便

  • 对于数组类型的服务端命令参数,在执行【测试】时,需要输入JSON格式的数组,如 [{"id":4,"iQty":10.5},{"id":5,"iQty":4}]

1.2 页面

  • 在设计器中按Ctrl+F5启动调试模式,可以显示隐藏的行和列

  • 推荐使用内置的手机调试功能,用手机或PDA测试移动页面的布局和交互响应速度,参考 帮助文档

重要提示:发布到服务器上之后,考虑到性能优化,服务器将不再记录和传输执行日志。

二、故障调查

经历了开发阶段的调试和测试后上线的系统,也难免会出现一些意料之外的故障或者问题。此时,您需要在不影响线上运行的前提下进行故障调查。以下是故障调查相关的实用技巧:

2.1 通过日志定位问题

  • 在测试环境或验证环境上,可以使用管理控制台上【设置】→【日志】页面“历史日志”选项卡来查询各项日志,参考 帮助文档,不同环境下推荐开启的日志参考:配置管理:测试环境、验证环境与生产环境

  • 推荐在管理控制台上【设置】→【存储路径】中,将【日志存储目录】指向单独的磁盘或卷(不要放在系统盘),并根据磁盘控件合理调整“日志文件设置”,避免该文件夹内文件过量占用磁盘空间导致系统故障

  • 如需让验证服务器像在设计器中调试一样,记录服务端命令的详细执行路径,可在【应用管理】上找到该应用,然后在【高级设置】中将服务端命令的日志详细程度修改为“详细”。这个操作会影响服务器的性能,请不要在生产环境、压力测试或性能测试上启用。

  • 在管理控制台上查看日志会对性能造成影响,不推荐在生产服务器上使用该功能

  • 发生故障时,请及时在服务管理器中【帮助支持】→【分析错误】,生成并下载psi文件包,使用7Zip将其解压缩后,即可获得该服务器上的所有日志文件和其他有助于调查的信息

  • 发生故障时,建议及时备份数据库,以便于还原故障现场

    • 备份用户信息数据库:管理控制台中【内建用户】→【备份与还原】菜单

    • 备份应用和内置库:管理控制台中【应用管理】菜单,找到需操作的应用,点击【常规设置】选项卡中“备份”按钮

    • 备份外联业务数据库:使用数据库厂商提供的方案

2.2 还原故障现场

  • 不要在正常使用的生产环境中调查故障问题

  • 另外选择一台服务器或PC电脑,安装与生产环境相同版本的活字格服务管理器和数据库,按照以下方法还原故障现场

    • 还原用户信息数据库:管理控制台中【内建用户】→【备份与还原】菜单

    • 还原应用和内置库:使用活字格设计器从master分支中获取线上版本的工程,并将其发布到调查用环境(应用的名称需要和生产环境保持一致);在管理控制台中【应用管理】菜单,找到需操作的应用,点击【常规设置】选项卡中“还原”按钮

    • 还原外连数据库:使用数据库厂商提供的方案;在管理控制台中【应用管理】菜单,找到需操作的应用,点击【高级设置】选项卡,将数据库连接字符串修改为调查用环境的数据库

  • 在调查用环境上进行测试、修改和验证,确认问题得以解决后,强烈推荐做全面测试后再发布上线,避免引入更多错误

  • 推荐在动手修改前,使用master分支创建hotfix分支,在该分支上完成修改。待上线后,手动将这些修改合并到当前开发的dev分支;同时,将hotfix分支merge或rebase到master分支,确保master分支与生产环境保持一致。 详细了解:分支管理模式

type=info

image 温馨提示

企业级低代码开发最佳实践是活字格官方面向进阶开发者推出的产品技术资源,旨在帮助对活字格基本功能有一定了解的开发者快速提升应用开发能力,保质保量做好企业级项目交付。如果您是初次接触活字格,这些内容可能会有些艰深难懂,这也是正常的。如果您有软件开发经验,推荐您学习《面向程序员的活字格入门课程》;否则,您也可以免费报名参加新手训练营直播课程或购买阅读《低代码开发实战:基于低代码平台构建企业级应用》(机械工业出版社),快速上手低代码开发。