KMScript.com DIGITIZED as KMScript
- 概念
- 请先阅读 kmscript 日志文件
- 请先阅读 kmscript 文件格式 的 .kmsi.json 部分
- kmscript 没有 kms 断点功能,只能通过了运行时输出的信息调试
- 输出的信息在控制台获取,能够得到比日志里更详细的信息
- 该控制台在 Microsoft Windows 即为命令行窗口
- 脚本有时不再运行可能因为用户不小心选中了里面的字符激活了命令行窗口的快速编辑功能导致输出被阻塞
- 快速编辑功能在 kmscript 启动时已变更为关闭,但用户仍然可以通过右击标题栏做到(如果需要用户提供输出)
- 该控制台在类Unix为当前运行的命令行标准输出(stdout)
- 方法
- 因为 .kmsi.json 文件的存在,可以在控制台见到各模块各步骤的运行结果
- 例如 "12345 模块A # 步骤B = false" 表示时间为12345 时模块A的步骤B运行结果是失败,按照失败选项处理。
- 根据此输出结果即可掌握各个步骤其运行情况,必要时可查阅自己的 kms 文件核对那个步骤的代码
- 行首的数字为毫秒,可经由与上一个步骤的时间差(相减即得出毫秒值)得出当前步骤花费的时间
- 如果没有 .kmsi.json 那么 模块A 会显示成为一个编号,请结合原始 kms 文件推算出其步骤
- 模块运行的状态结果信息只在控制台输出不记录在日志文件
- 如果由图像匹配出的问题,那么往往需要保存当时的图像以供调试,可调用保存图片函数
- 然后拿着素材和保存的图片进入菜单"图像调试"进行差异排查
- 注意,大量调用保存图片会严重降低CPU和IO性能,不应在公共发布的脚本里存在,仅调试步骤特殊开启之后应当恢复成发布版本
- 特别是许多ARM盒子其存储介质是很有限的读写次数寿命的SD卡或SSD
- 如果图像源重现有困难,例如每次调试都要切换到某个步骤才能满足特定图像,可使用melib.Image或melib.KMSI引擎
- 在特定步骤中增加一个保存图片函数,把图像引擎改为 melib.Image 引擎,保存的图片作为其引擎参数,比如 pub/debug.png
- 之后图像源将始终是那个图片,不再需要每次启动频繁切换
- 然后在第一步增加一个空跳转(等待1秒成功则跳转)直接进入该图像相关操作步骤进行运行确认
- melib.KMSI 引擎同样原理,只不过它是录像重放每次启动都会从头开始播放相同的内容
- 当前的引擎图像可以在“从机管理”中看到并确认
- 其它问题尽量多使用 基础操作 的 日志信息输出过程数据调试脚本
骨骼配置:ui,值:li_tag