头图

写完一个RPA流程并运行,有时往往达不到预期的效果(尤其对于新手而言):要么运行的时候报错,要么不报错但流程运行没有得到预想的结果。

这个时候就需要对流程进行调试了。

所谓调试,是将编制的程序投入实际运行前,用手工或自动等方式进行测试,修正语法错误和逻辑错误的过程,是保证计算机软件程序正确性的必不可少的步骤。

在关键代码的上一行或下一行添加“输出调试信息”命令,查看参数、返回值是否正确。这确实可以用来测试和排除程序错误,但从严格意义上来说,这并不能算是一种程序调试的方法。

而“真正意义上” 的程序调试方法,可以根据提示的错误信息、监测的运行时变量,准确定位错误原因及错误位置。首先,开发者要对系统的业务流程非常清楚。

业务产生数据,数据体现业务,流程的运行逻辑也代表着业务和数据的运转过程。当错误发生时,首先应该想到并且知道这个问题的产生所依赖的业务流程和数据。

比如:当点击“提交”按钮时,表单提交出现错误。这时应该思考:点击“提交”按钮后,发生了哪些数据流转?

再根据错误现象及报错提示信息,推测该错误可能会发生在这个业务数据流转过程中的哪个位置,从而确定调试的断点位置。

UiBot的调试方法

添加和删除断点在UiBot中,可以设置断点(在调试的过程中,遇到断点会自动停下来)。考虑到UiBot的主要业务逻辑在流程块中,所以只需要在流程块中设置断点,即可满足调试要求。

流程块包含“可视化”和“源代码”两种视图。无论哪一种,都可以用以下的方式来添加和删除断点:点击任意一行命令左边的空白位置,都可以添加断点。

再次点击这个位置,可以删除这个断点。选中一行命令,在菜单中选择“运行”→“设置/取消断点”,原先没有断点的,会加上断点;原先有断点的,会删掉这个断点。

选中一行命令,直接按热键F4,效果同上。设置断点后,这一行命令的左边空白处会出现一个红色的圆形,同时这一行命令本身的背景也会变红。如下图:

图片
添加和删除断点

调试运行

在编写流程块的过程中,我们可以发现:在菜单栏的“运行”一栏下面,分别有四个菜单项:运行、运行全流程、调试运行、调试运行全流程。

图片
调试运行菜单项

点击工具栏的“运行”图标右边的下拉按钮,也有类似的四个选项。
图片
调试运行工具栏

它们的含义分别是:
运行:只运行当前流程块,并且忽略其中所有的断点。
运行全流程:运行整个流程图,并且忽略其中所有的断点。
调试运行:只运行当前流程块,遇到断点会停下来。
调试运行全流程:运行整个流程图,遇到断点会停下来。

单步调试

当调试运行时,程序运行到断点处,会自动停下来。

此时,在调试状态栏列出了常见的四个调试运行动作:继续运行(F6)、步过(F7)、步入(F8)、步出(F9)。

继续运行:指的是继续运行到下一个断点。
步过:指的是继续运行下一条命令。
步入:指的是继续运行下一条命令,如果下一条命令是函数,那么进入函数,在函数内的第一条命令处停下来。
步出:指的是跳出本层函数,并返回到上一层。

调试状态栏的左下方列出了本流程块变量的值,在程序运行到断点位置暂停时,进行下一步调试。这时需要特别注意观察程序运行的每一步的数据是否为业务流程处理的正确数据,来判断程序是否正确执行。

这些数据包括输入数据、返回数据等,如果程序运行起来后,并没有进入预先设定的断点处,此时需要根据错误信息和业务处理流程逻辑重新推测错误发生位置,重新设置断点。不断将一个大的问题细化拆解,最终精确定位错误点。

图片
单步调试

调试状态栏的右下方列出了本流程块的断点列表,可以根据需要启用、禁用和删除断点。
图片
断点列表

打断点的技巧

一般打断点的方式及位置是:在有可能发生错误的方法的第一行逻辑程序打断点。方法中最有可能发生错误的那一行打程序断点。


UBStore
108 声望21 粉丝

UB Store地址:[链接]


引用和评论

0 条评论